From 35563373a62b05f66c1872d90da58aab570764ab Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 14 Apr 2024 23:40:19 +0200 Subject: [PATCH] Annotated regex rules in highlighting and add to slots --- novelwriter/gui/dochighlight.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/novelwriter/gui/dochighlight.py b/novelwriter/gui/dochighlight.py index 3e184d72..d9919bb9 100644 --- a/novelwriter/gui/dochighlight.py +++ b/novelwriter/gui/dochighlight.py @@ -57,7 +57,8 @@ BLOCK_TITLE = 4 class GuiDocHighlighter(QSyntaxHighlighter): - __slots__ = ("_tItem", "_tHandle", "_spellCheck", "_spellErr", "_hRules", "_hStyles") + __slots__ = ("_tHandle", "_isInactive", "_spellCheck", "_spellErr", + "_hRules", "_hStyles", "_rxRules") def __init__(self, document: QTextDocument) -> None: super().__init__(document) @@ -71,6 +72,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): self._hRules: list[tuple[str, dict]] = [] self._hStyles: dict[str, QTextCharFormat] = {} + self._rxRules: list[tuple[QRegularExpression, dict[str, QTextCharFormat]]] = [] self.initHighlighter() @@ -222,11 +224,11 @@ class GuiDocHighlighter(QSyntaxHighlighter): )) # Build a QRegExp for each highlight pattern - self.rxRules = [] + self._rxRules = [] for regEx, regRules in self._hRules: hReg = QRegularExpression(regEx) hReg.setPatternOptions(QRegularExpression.UseUnicodePropertiesOption) - self.rxRules.append((hReg, regRules)) + self._rxRules.append((hReg, regRules)) return @@ -362,7 +364,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): # Regular Text self.setCurrentBlockState(BLOCK_TEXT) - for rX, xFmt in self.rxRules: + for rX, xFmt in self._rxRules: rxItt = rX.globalMatch(text, 0) while rxItt.hasNext(): rxMatch = rxItt.next()