hgext/highlight/highlight.py
changeset 8360 acc202b71619
parent 8251 7fc30044b514
child 9424 799373ff2554
equal deleted inserted replaced
8359:07ddec2ea203 8360:acc202b71619
     8 # The original module was split in an interface and an implementation
     8 # The original module was split in an interface and an implementation
     9 # file to defer pygments loading and speedup extension setup.
     9 # file to defer pygments loading and speedup extension setup.
    10 
    10 
    11 from mercurial import demandimport
    11 from mercurial import demandimport
    12 demandimport.ignore.extend(['pkgutil', 'pkg_resources', '__main__',])
    12 demandimport.ignore.extend(['pkgutil', 'pkg_resources', '__main__',])
    13 
       
    14 from mercurial import util, encoding
    13 from mercurial import util, encoding
    15 from mercurial.templatefilters import filters
       
    16 
    14 
    17 from pygments import highlight
    15 from pygments import highlight
    18 from pygments.util import ClassNotFound
    16 from pygments.util import ClassNotFound
    19 from pygments.lexers import guess_lexer, guess_lexer_for_filename, TextLexer
    17 from pygments.lexers import guess_lexer, guess_lexer_for_filename, TextLexer
    20 from pygments.formatters import HtmlFormatter
    18 from pygments.formatters import HtmlFormatter
    53     # strip wrapping div
    51     # strip wrapping div
    54     colorized = colorized[:colorized.find('\n</pre>')]
    52     colorized = colorized[:colorized.find('\n</pre>')]
    55     colorized = colorized[colorized.find('<pre>')+5:]
    53     colorized = colorized[colorized.find('<pre>')+5:]
    56     coloriter = iter(colorized.splitlines())
    54     coloriter = iter(colorized.splitlines())
    57 
    55 
    58     filters['colorize'] = lambda x: coloriter.next()
    56     tmpl.filters['colorize'] = lambda x: coloriter.next()
    59 
    57 
    60     oldl = tmpl.cache[field]
    58     oldl = tmpl.cache[field]
    61     newl = oldl.replace('line|escape', 'line|colorize')
    59     newl = oldl.replace('line|escape', 'line|colorize')
    62     tmpl.cache[field] = newl
    60     tmpl.cache[field] = newl