Ich verwende Segmente, um Linien aus einer Datei hervorzuheben, aber ich möchte verschiedene Linien mit verschiedenen Farben hervorheben.Verwenden von mehr als einer Markierungsfarbe in den Segmenten
note Während ich diese Frage schrieb, probierte ich verschiedene Dinge aus, bis ich fand, was wie eine anständige Lösung aussieht, die mein Problem löst. Ich werde es in den Antworten posten.
Mein erster Versuch, die Standard-gelb zu verändern (was sehr blass) war:
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)
Jetzt bin ich voll und ganz bewusst the perils of using a regular expression to parse HTML aber ich dachte, die einzige Alternative die noclasses=True
Möglichkeit highlight()
zu verwenden war, das tut Verwenden Sie CSS-Klassen nicht inline CSS und durchlaufen Sie dann die gesamte Datei und ersetzen Sie die Hintergrundfarbe der Zeilen, die ich möchte.
Meine Frage ist also: Wie kann ich verschiedene Linien mit Hilfe von Segmenten mit unterschiedlichen Farben hervorheben?