--- a/E5XML/HighlightingStylesWriter.py Sat Mar 16 14:10:51 2019 +0100 +++ b/E5XML/HighlightingStylesWriter.py Sat Mar 16 14:11:43 2019 +0100 @@ -18,7 +18,6 @@ import Preferences -# TODO: add support for sub-styling class HighlightingStylesWriter(XMLStreamWriterBase): """ Class implementing the writer class for writing a highlighting styles XML @@ -60,16 +59,27 @@ for lexer in self.lexers: self.writeStartElement("Lexer") self.writeAttribute("name", lexer.language()) - for style in lexer.descriptions: + for description, style, substyle in lexer.getStyles(): self.writeStartElement("Style") self.writeAttribute("style", str(style)) - self.writeAttribute("color", lexer.color(style).name()) - self.writeAttribute("paper", lexer.paper(style).name()) - self.writeAttribute("font", lexer.font(style).toString()) - self.writeAttribute("eolfill", str(lexer.eolFill(style))) - self.writeCharacters(lexer.description(style)) - self.writeEndElement() - self.writeEndElement() + self.writeAttribute("substyle", str(substyle)) + self.writeAttribute("color", + lexer.color(style, substyle).name()) + self.writeAttribute("paper", + lexer.paper(style, substyle).name()) + self.writeAttribute("font", + lexer.font(style, substyle).toString()) + self.writeAttribute("eolfill", + str(lexer.eolFill(style, substyle))) + self.writeStartElement("Description") + self.writeCharacters(lexer.description(style, substyle)) + self.writeEndElement() # Description + if substyle >= 0: + self.writeStartElement("Words") + self.writeCharacters(lexer.words(style, substyle).strip()) + self.writeEndElement() # Words + self.writeEndElement() # Style + self.writeEndElement() # Lexer - self.writeEndElement() + self.writeEndElement() # HighlightingStyles self.writeEndDocument()