1
1
mirror of https://github.com/KenanZhu/AutoLibrary.git synced 2026-06-17 23:13:03 +08:00

style(gui): 编辑器高亮配色更改为 VSCode C 风格并为布尔字面量独立配色

This commit is contained in:
2026-05-18 17:59:00 +08:00
parent e800f6ece1
commit 87787ad3dc
+12 -12
View File
@@ -44,44 +44,44 @@ class ALScriptHighlighter(QSyntaxHighlighter):
self._rules = [] self._rules = []
keywordFmt = QTextCharFormat() keywordFmt = QTextCharFormat()
keywordFmt.setForeground(QColor("#007ACC")) keywordFmt.setForeground(QColor("#569CD6"))
keywordFmt.setFontWeight(QFont.Weight.Bold) keywordFmt.setFontWeight(QFont.Weight.Bold)
for kw in ["IF", "ELSE IF", "ELSE", "ENDIF", "END IF", for kw in ["IF", "ELSE IF", "ELSE", "ENDIF", "END IF",
"SET", "PASS", "THEN"]: "SET", "PASS", "THEN"]:
pattern = r"\b" + kw.replace(" ", r"\s+") + r"\b" pattern = r"\b" + kw.replace(" ", r"\s+") + r"\b"
self._rules.append((pattern, keywordFmt)) self._rules.append((pattern, keywordFmt))
opFmt = QTextCharFormat() opFmt = QTextCharFormat()
opFmt.setForeground(QColor("#AF00DB")) opFmt.setForeground(QColor("#C586C0"))
opFmt.setFontWeight(QFont.Weight.Normal) opFmt.setFontWeight(QFont.Weight.Normal)
for op in [r"\.EQ\.", r"\.NEQ\.", r"\.BGT\.", r"\.BLT\.", for op in [r"\.EQ\.", r"\.NEQ\.", r"\.BGT\.", r"\.BLT\.",
r"\.BGE\.", r"\.BLE\.", r"\.ADD\.", r"\.SUB\.", r"\.BGE\.", r"\.BLE\.", r"\.ADD\.", r"\.SUB\.",
r"\.AND\.", r"\.OR\."]: r"\.AND\.", r"\.OR\."]:
self._rules.append((op, opFmt)) self._rules.append((op, opFmt))
literalFmt = QTextCharFormat() boolFmt = QTextCharFormat()
literalFmt.setForeground(QColor("#AF00DB")) boolFmt.setForeground(QColor("#4FC1FF"))
literalFmt.setFontWeight(QFont.Weight.Bold) boolFmt.setFontWeight(QFont.Weight.Bold)
for lit in [".TRUE.", ".FALSE."]: self._rules.append((r"\.TRUE\.", boolFmt))
self._rules.append((r"\b" + lit.replace(".", r"\.") + r"\b", literalFmt)) self._rules.append((r"\.FALSE\.", boolFmt))
funcFmt = QTextCharFormat() funcFmt = QTextCharFormat()
funcFmt.setForeground(QColor("#795E26")) funcFmt.setForeground(QColor("#DCDCAA"))
funcFmt.setFontWeight(QFont.Weight.Normal) funcFmt.setFontWeight(QFont.Weight.Normal)
self._rules.append((r"\b(?:DATE|TIME)\b", funcFmt)) self._rules.append((r"\b(?:DATE|TIME)\b", funcFmt))
varFmt = QTextCharFormat() varFmt = QTextCharFormat()
varFmt.setForeground(QColor("#267F99")) varFmt.setForeground(QColor("#9CDCFE"))
varFmt.setFontWeight(QFont.Weight.Normal) varFmt.setFontWeight(QFont.Weight.Normal)
var_names = [name for _, (name, _) in ALL_VARIABLES.items()] var_names = [name for _, (name, _) in ALL_VARIABLES.items()]
for var in var_names: for var in var_names:
self._rules.append((r"\b" + var + r"\b", varFmt)) self._rules.append((r"\b" + var + r"\b", varFmt))
strFmt = QTextCharFormat() strFmt = QTextCharFormat()
strFmt.setForeground(QColor("#A31515")) strFmt.setForeground(QColor("#CE9178"))
strFmt.setFontWeight(QFont.Weight.Normal) strFmt.setFontWeight(QFont.Weight.Normal)
self._rules.append((r"'[^']*'", strFmt)) self._rules.append((r"'[^']*'", strFmt))
numFmt = QTextCharFormat() numFmt = QTextCharFormat()
numFmt.setForeground(QColor("#098658")) numFmt.setForeground(QColor("#B5CEA8"))
numFmt.setFontWeight(QFont.Weight.Normal) numFmt.setFontWeight(QFont.Weight.Normal)
self._rules.append((r"\b\d+\b", numFmt)) self._rules.append((r"\b\d+\b", numFmt))
commentFmt = QTextCharFormat() commentFmt = QTextCharFormat()
commentFmt.setForeground(QColor("#008000")) commentFmt.setForeground(QColor("#6A9955"))
commentFmt.setFontItalic(True) commentFmt.setFontItalic(True)
self._rules.append((r"//[^\n]*", commentFmt)) self._rules.append((r"//[^\n]*", commentFmt))