eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffHighlighter.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2015 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a syntax highlighter for unified and context diff outputs.
8 """
9
10 from __future__ import unicode_literals
11
12 from E5Gui.E5GenericDiffHighlighter import TERMINAL, E5GenericDiffHighlighter
13
14
15 class HgDiffHighlighter(E5GenericDiffHighlighter):
16 """
17 Class implementing a diff highlighter for Git.
18 """
19 def __init__(self, doc):
20 """
21 Constructor
22
23 @param doc reference to the text document (QTextDocument)
24 """
25 super(HgDiffHighlighter, self).__init__(doc)
26
27 def generateRules(self):
28 """
29 Public method to generate the rule set.
30 """
31 diffHeader = self.makeFormat(fg=self.textColor,
32 bg=self.headerColor)
33 diffContext = self.makeFormat(fg=self.textColor,
34 bg=self.contextColor)
35
36 diffAdded = self.makeFormat(fg=self.textColor,
37 bg=self.addedColor)
38 diffRemoved = self.makeFormat(fg=self.textColor,
39 bg=self.removedColor)
40
41 diffHeaderRegex = TERMINAL(r'^diff -r ')
42
43 diffOldRegex = TERMINAL(r'^--- ')
44 diffNewRegex = TERMINAL(r'^\+\+\+ ')
45 diffContextRegex = TERMINAL(r'^@@ ')
46
47 diffAddedRegex = TERMINAL(r'^\+')
48 diffRemovedRegex = TERMINAL(r'^-')
49
50 self.createRules((diffOldRegex, diffRemoved),
51 (diffNewRegex, diffAdded),
52 (diffContextRegex, diffContext),
53 (diffHeaderRegex, diffHeader),
54 (diffAddedRegex, diffAdded),
55 (diffRemovedRegex, diffRemoved),
56 )

eric ide

mercurial