Truncate input to 1K when using pygments guess_lexer.
authorBrendan Cully <brendan@kublai.com>
Thu, 12 Jun 2008 00:11:09 -0700
changeset 6664 1e3c1f010808
parent 6663 d8ae6a3a1833
child 6665 73f49bef13ad
Truncate input to 1K when using pygments guess_lexer. This function appears to be exponential with input length.
hgext/highlight.py
--- a/hgext/highlight.py	Thu Jun 12 08:53:23 2008 +0200
+++ b/hgext/highlight.py	Thu Jun 12 00:11:09 2008 -0700
@@ -49,11 +49,11 @@
 
     # To get multi-line strings right, we can't format line-by-line
     try:
-        lexer = guess_lexer_for_filename(fctx.path(), text,
+        lexer = guess_lexer_for_filename(fctx.path(), text[:1024],
                                          encoding=util._encoding)
     except (ClassNotFound, ValueError):
         try:
-            lexer = guess_lexer(text, encoding=util._encoding)
+            lexer = guess_lexer(text[:1024], encoding=util._encoding)
         except (ClassNotFound, ValueError):
             lexer = TextLexer(encoding=util._encoding)