Plugins/VcsPlugins/vcsSubversion/SvnDiffHighlighter.py

changeset 4110
5a106c734527
child 4631
5c1a96925da4
equal deleted inserted replaced
4109:809b8268183d 4110:5a106c734527
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2015 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 SvnDiffHighlighter(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(SvnDiffHighlighter, 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 diffHeaderBold = self.makeFormat(fg=self.textColor,
34 bg=self.headerColor,
35 bold=True)
36 diffContext = self.makeFormat(fg=self.textColor,
37 bg=self.contextColor)
38
39 diffAdded = self.makeFormat(fg=self.textColor,
40 bg=self.addedColor)
41 diffRemoved = self.makeFormat(fg=self.textColor,
42 bg=self.removedColor)
43
44 diffBarRegex = TERMINAL(r'^=+$')
45
46 diffHeaderRegex = TERMINAL(r'^[iI]ndex: \S+')
47
48 diffOldRegex = TERMINAL(r'^--- ')
49 diffNewRegex = TERMINAL(r'^\+\+\+')
50 diffContextRegex = TERMINAL(r'^@@ ')
51
52 diffAddedRegex = TERMINAL(r'^[+>]|^A ')
53 diffRemovedRegex = TERMINAL(r'^[-<]|^D ')
54
55 self.createRules((diffOldRegex, diffRemoved),
56 (diffNewRegex, diffAdded),
57 (diffContextRegex, diffContext),
58 (diffHeaderRegex, diffHeader),
59 (diffBarRegex, diffHeaderBold),
60 (diffAddedRegex, diffAdded),
61 (diffRemovedRegex, diffRemoved),
62 )

eric ide

mercurial