E5Gui/E5GenericDiffHighlighter.py

changeset 5765
39d8b26ff557
parent 5597
3d88d53f8c2b
child 6048
82ad8ec9548c
equal deleted inserted replaced
5764:51ceecf32585 5765:39d8b26ff557
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 11
12 import re 12 import re
13 13
14 from PyQt5.QtGui import QSyntaxHighlighter, QColor, QTextCharFormat, QFont 14 from PyQt5.QtGui import QSyntaxHighlighter, QTextCharFormat, QFont
15 15
16 import Preferences 16 import Preferences
17 17
18 18
19 def TERMINAL(pattern): 19 def TERMINAL(pattern):
39 39
40 @param doc reference to the text document (QTextDocument) 40 @param doc reference to the text document (QTextDocument)
41 """ 41 """
42 super(E5GenericDiffHighlighter, self).__init__(doc) 42 super(E5GenericDiffHighlighter, self).__init__(doc)
43 43
44 self.textColor = QColor(0, 0, 0) 44 self.regenerateRules()
45 self.addedColor = QColor(190, 237, 190)
46 self.removedColor = QColor(237, 190, 190)
47 self.replacedColor = QColor(190, 190, 237)
48 self.contextColor = QColor(255, 220, 168)
49 self.headerColor = QColor(237, 237, 190)
50
51 self.normalFormat = self.makeFormat()
52
53 self._rules = []
54 self.generateRules()
55 45
56 def generateRules(self): 46 def __initColours(self):
57 """ 47 """
58 Public method to generate the rule set. 48 Private method to initialize the highlighter colours.
59
60 Note: This method must me implemented by derived syntax
61 highlighters.
62 """ 49 """
63 pass 50 self.textColor = Preferences.getDiffColour("TextColor")
51 self.addedColor = Preferences.getDiffColour("AddedColor")
52 self.removedColor = Preferences.getDiffColour("RemovedColor")
53 self.replacedColor = Preferences.getDiffColour("ReplacedColor")
54 self.contextColor = Preferences.getDiffColour("ContextColor")
55 self.headerColor = Preferences.getDiffColour("HeaderColor")
56 self.whitespaceColor = Preferences.getDiffColour("BadWhitespaceColor")
64 57
65 def createRules(self, *rules): 58 def createRules(self, *rules):
66 """ 59 """
67 Public method to create the highlighting rules. 60 Public method to create the highlighting rules.
68 61
157 length = len(group) 150 length = len(group)
158 if formatStr[groupIndex]: 151 if formatStr[groupIndex]:
159 self.setFormat(start, start + length, 152 self.setFormat(start, start + length,
160 formatStr[groupIndex]) 153 formatStr[groupIndex])
161 start += length 154 start += length
155
156 def regenerateRules(self):
157 """
158 Public method to initialize or regenerate the syntax highlighter rules.
159 """
160 self.normalFormat = self.makeFormat()
161
162 self.__initColours()
163
164 self._rules = []
165 self.generateRules()
166
167 def generateRules(self):
168 """
169 Public method to generate the rule set.
170
171 Note: This method must me implemented by derived syntax
172 highlighters.
173 """
174 pass

eric ide

mercurial