##// END OF EJS Templates
highlight: pass encoding to lexers and formatter...
Christian Ebert -
r5655:fe38b0a3 default
parent child Browse files
Show More
@@ -66,19 +66,22 b' class StripedHtmlFormatter(HtmlFormatter'
66 yield 0, "</div>"
66 yield 0, "</div>"
67
67
68
68
69 def pygments_format(filename, rawtext, forcetext, stripecount, style):
69 def pygments_format(filename, rawtext, forcetext, encoding,
70 stripecount, style):
71 etext = util.tolocal(rawtext)
70 if not forcetext:
72 if not forcetext:
71 try:
73 try:
72 lexer = guess_lexer_for_filename(filename, rawtext)
74 lexer = guess_lexer_for_filename(filename, etext,
75 encoding=util._encoding)
73 except ClassNotFound:
76 except ClassNotFound:
74 lexer = TextLexer()
77 lexer = TextLexer(encoding=util._encoding)
75 else:
78 else:
76 lexer = TextLexer()
79 lexer = TextLexer(encoding=util._encoding)
77
80
78 formatter = StripedHtmlFormatter(stripecount, style=style,
81 formatter = StripedHtmlFormatter(stripecount, style=style,
79 linenos='inline')
82 linenos='inline', encoding=encoding)
80
83
81 return highlight(rawtext, lexer, formatter)
84 return highlight(etext, lexer, formatter)
82
85
83
86
84 def filerevision_pygments(self, tmpl, fctx):
87 def filerevision_pygments(self, tmpl, fctx):
@@ -109,7 +112,7 b' def filerevision_pygments(self, tmpl, fc'
109
112
110 style = self.config("web", "pygments_style", "colorful")
113 style = self.config("web", "pygments_style", "colorful")
111
114
112 text_formatted = lines(pygments_format(f, text, forcetext,
115 text_formatted = lines(pygments_format(f, text, forcetext, self.encoding,
113 self.stripecount, style))
116 self.stripecount, style))
114
117
115 # override per-line template
118 # override per-line template
General Comments 0
You need to be logged in to leave comments. Login now