E5XML/HighlightingStylesWriter.py

branch
sub_styles
changeset 6863
e900929889dd
parent 6857
59f6251587fa
child 6867
97e86d2426a9
equal deleted inserted replaced
6862:6f4237ccf576 6863:e900929889dd
16 from .Config import highlightingStylesFileFormatVersion 16 from .Config import highlightingStylesFileFormatVersion
17 17
18 import Preferences 18 import Preferences
19 19
20 20
21 # TODO: add support for sub-styling
22 class HighlightingStylesWriter(XMLStreamWriterBase): 21 class HighlightingStylesWriter(XMLStreamWriterBase):
23 """ 22 """
24 Class implementing the writer class for writing a highlighting styles XML 23 Class implementing the writer class for writing a highlighting styles XML
25 file. 24 file.
26 """ 25 """
58 self.writeAttribute("version", highlightingStylesFileFormatVersion) 57 self.writeAttribute("version", highlightingStylesFileFormatVersion)
59 58
60 for lexer in self.lexers: 59 for lexer in self.lexers:
61 self.writeStartElement("Lexer") 60 self.writeStartElement("Lexer")
62 self.writeAttribute("name", lexer.language()) 61 self.writeAttribute("name", lexer.language())
63 for style in lexer.descriptions: 62 for description, style, substyle in lexer.getStyles():
64 self.writeStartElement("Style") 63 self.writeStartElement("Style")
65 self.writeAttribute("style", str(style)) 64 self.writeAttribute("style", str(style))
66 self.writeAttribute("color", lexer.color(style).name()) 65 self.writeAttribute("substyle", str(substyle))
67 self.writeAttribute("paper", lexer.paper(style).name()) 66 self.writeAttribute("color",
68 self.writeAttribute("font", lexer.font(style).toString()) 67 lexer.color(style, substyle).name())
69 self.writeAttribute("eolfill", str(lexer.eolFill(style))) 68 self.writeAttribute("paper",
70 self.writeCharacters(lexer.description(style)) 69 lexer.paper(style, substyle).name())
71 self.writeEndElement() 70 self.writeAttribute("font",
72 self.writeEndElement() 71 lexer.font(style, substyle).toString())
72 self.writeAttribute("eolfill",
73 str(lexer.eolFill(style, substyle)))
74 self.writeStartElement("Description")
75 self.writeCharacters(lexer.description(style, substyle))
76 self.writeEndElement() # Description
77 if substyle >= 0:
78 self.writeStartElement("Words")
79 self.writeCharacters(lexer.words(style, substyle).strip())
80 self.writeEndElement() # Words
81 self.writeEndElement() # Style
82 self.writeEndElement() # Lexer
73 83
74 self.writeEndElement() 84 self.writeEndElement() # HighlightingStyles
75 self.writeEndDocument() 85 self.writeEndDocument()

eric ide

mercurial