Fix code blocks so reserved keywords inside strings don't get painted as reserved
All checks were successful
CI / test (push) Successful in 4m56s
Lint / test (push) Successful in 32s
Trivy / test (push) Successful in 23s

This commit is contained in:
Miguel Jacq 2025-11-26 13:25:44 +11:00
parent 52c1836c9c
commit 808b878658
Signed by: mig5
GPG key ID: 59B3F0C24135C6A9

View file

@ -287,12 +287,6 @@ class CodeHighlighter:
# HTML comments
patterns.append((r"<!--.*?-->", "comment"))
# Strings (double quotes)
patterns.append((r'"[^"\\]*(\\.[^"\\]*)*"', "string"))
# Strings (single quotes)
patterns.append((r"'[^'\\]*(\\.[^'\\]*)*'", "string"))
# Numbers
patterns.append((r"\b\d+\.?\d*\b", "number"))
@ -300,6 +294,14 @@ class CodeHighlighter:
for keyword in keywords:
patterns.append((r"\b" + keyword + r"\b", "keyword"))
# Do strings last so they override any of the above (e.g reserved keywords in strings)
# Strings (double quotes)
patterns.append((r'"[^"\\]*(\\.[^"\\]*)*"', "string"))
# Strings (single quotes)
patterns.append((r"'[^'\\]*(\\.[^'\\]*)*'", "string"))
return patterns
@staticmethod