Я использую pygments для выделения строк из файла, но хочу выделить разные строки с разными цветами.Использование более одного цвета выделения в пигментах
примечание Пока я писал этот вопрос, я пробовал разные вещи, пока не нашел, что похоже на достойное решение, которое решает мою проблему. Я отправлю его в ответах.
Моя первая попытка изменения желтый по умолчанию (что очень бледным) было:
HIGHLIGHT_COLOR = '#F4E004'
formatter = HtmlFormatter(linenos='inline', hl_lines=hl_lines, lineanchors='foo')
style = formatter.get_style_defs()
with open(the_xml_fullpath) as f:
highlighted = highlight(f.read(), XmlLexer(), formatter)
# make the yellow more ...yellow
_style = re.sub(r'background-color: \#.+ ', 'background-color: {} '.format(HIGHLIGHT_COLOR), style)
Теперь я в полной мере осознает the perils of using a regular expression to parse HTML, но я думал, что единственной альтернативой было использовать noclasses=True
вариант highlight()
, который делает не использовать CSS-классы встроенного CSS, а затем перебирать весь файл и заменять цвет фона строк, которые я хочу.
Итак, мой вопрос: как я могу выделить различные строки, используя пигменты с разными цветами?