Fixed the syntax regex to do markdown bold/italic properly, and support quote styles in config

This commit is contained in:
Veronica K. B. Olsen
2019-04-22 21:15:00 +02:00
parent 3631b239fc
commit 4a6779c16c
+11 -7
View File
@@ -54,17 +54,21 @@ class GuiDocHighlighter(QSyntaxHighlighter):
(r"^#{2}[^#].*[^\n]", 0, self.hStyles["header2"]),
(r"^#{3}[^#].*[^\n]", 0, self.hStyles["header3"]),
(r"^#{4}[^#].*[^\n]", 0, self.hStyles["header4"]),
(r"\*{2}(.+?)\*{2}", 0, self.hStyles["bold"]),
(r"\/{2}(.+?)\/{2}", 0, self.hStyles["italic"]),
(r"~{2}(.+?)~{2}", 0, self.hStyles["strike"]),
(r"_{2}(.+?)_{2}", 0, self.hStyles["underline"]),
(r'"(.+?)"', 0, self.hStyles["dialogue"]),
(r"«(.+?)»", 0, self.hStyles["dialogue"]),
(r"“(.+?)”", 0, self.hStyles["dialogue"]),
(r"(?<![\w|\\])([\*]{2})(?!\s)(?m:(.+?))(?<![\s|\\])(\1)(?!\w)", 2, self.hStyles["bold"]),
(r"(?<![\w|_|\\])([_])(?!\s|\1)(?m:(.+?))(?<![\s|\\])(\1)(?!\w)", 2, self.hStyles["italic"]),
(r"^(@.+?)\s*:\s*(.+?)$", 1, self.hStyles["keyword"]),
(r"^(@.+?)\s*:\s*(.+?)$", 2, self.hStyles["value"]),
(r"^%.*$", 0, self.hStyles["hidden"]),
]
self.hRules.append(
("{:s}(.+?){:s}".format('"','"'),0,self.hStyles["dialogue"])
)
self.hRules.append(
("{:s}(.+?){:s}".format(*self.mainConf.fmtDoubleQuotes),0,self.hStyles["dialogue"])
)
self.hRules.append(
("{:s}(.+?){:s}".format(*self.mainConf.fmtSingleQuotes),0,self.hStyles["dialogue"])
)
# Build a QRegExp for each pattern
self.rules = [(QRegularExpression(a),b,c) for (a,b,c) in self.hRules]