diff -r 4e8b98454baa -r 800c432b34c8 eric7/Plugins/VcsPlugins/vcsPySvn/SvnDiffHighlighter.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/Plugins/VcsPlugins/vcsPySvn/SvnDiffHighlighter.py Sat May 15 18:45:04 2021 +0200 @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a syntax highlighter for unified and context diff outputs. +""" + +from E5Gui.E5GenericDiffHighlighter import TERMINAL, E5GenericDiffHighlighter + + +class SvnDiffHighlighter(E5GenericDiffHighlighter): + """ + Class implementing a diff highlighter for Git. + """ + def __init__(self, doc): + """ + Constructor + + @param doc reference to the text document (QTextDocument) + """ + super().__init__(doc) + + def generateRules(self): + """ + Public method to generate the rule set. + """ + diffHeader = self.makeFormat(fg=self.textColor, + bg=self.headerColor) + diffHeaderBold = self.makeFormat(fg=self.textColor, + bg=self.headerColor, + bold=True) + diffContext = self.makeFormat(fg=self.textColor, + bg=self.contextColor) + + diffAdded = self.makeFormat(fg=self.textColor, + bg=self.addedColor) + diffRemoved = self.makeFormat(fg=self.textColor, + bg=self.removedColor) + + diffBarRegex = TERMINAL(r'^=+$') + + diffHeaderRegex = TERMINAL(r'^[iI]ndex: \S+') + + diffOldRegex = TERMINAL(r'^--- ') + diffNewRegex = TERMINAL(r'^\+\+\+') + diffContextRegex = TERMINAL(r'^@@ ') + + diffAddedRegex = TERMINAL(r'^[+>]|^A ') + diffRemovedRegex = TERMINAL(r'^[-<]|^D ') + + self.createRules((diffOldRegex, diffRemoved), + (diffNewRegex, diffAdded), + (diffContextRegex, diffContext), + (diffHeaderRegex, diffHeader), + (diffBarRegex, diffHeaderBold), + (diffAddedRegex, diffAdded), + (diffRemovedRegex, diffRemoved), + )