Ticket #5654: pygments-options.diff
| File pygments-options.diff, 1.5 KB (added by thatch, 5 years ago) |
|---|
-
mimeview/pygments_renderer.py
56 56 to override the default quality ratio used by the 57 57 Pygments render.""") 58 58 59 pygments_options = ListOption('mimeviewer', 'pygments_options', 60 '', doc= 61 """List of options to be passed to lexers. 62 63 For each, a tuple `mode:option` has to be specified, 64 for example `php:startinline=1`. To specify more than 65 one option, simply repeat the mode in the style, 66 `php:a=1,php:b=2` 67 """) 68 59 69 expand_tabs = True 60 70 returns_source = True 61 71 … … 179 189 Mimeview(self.env).configured_modes_mapping('pygments') 180 190 ) 181 191 192 self._options = {} 193 for t, opt in [x.split(':', 1) for x in self.pygments_options]: 194 opts = self._options.get(t) 195 if not opts: 196 opts = {} 197 self._options[t] = opts 198 key, value = opt.split('=', 1) 199 opts[str(key)] = value 200 182 201 def _generate(self, language, content): 183 lexer = get_lexer_by_name(language, stripnl=False) 202 self.log.debug("Pygments renderering for language=%s" % language) 203 opts = self._options.get(language, {}) 204 opts['stripnl'] = False 205 lexer = get_lexer_by_name(language, **opts) 184 206 return GenshiHtmlFormatter().generate(lexer.get_tokens(content)) 185 207 186 208
