diff --git a/src/tests/themes.test.ts b/src/tests/themes.test.ts
index 9b226ca5..07964b28 100644
--- a/src/tests/themes.test.ts
+++ b/src/tests/themes.test.ts
@@ -82,6 +82,7 @@ class ThemeInfo {
new ThemeInfo('solarized_dark', 'Solarized-dark.tmTheme'),
new ThemeInfo('solarized_light', 'Solarized-light.tmTheme'),
new ThemeInfo('tomorrow_night_blue', 'Tomorrow-Night-Blue.tmTheme'),
+ new ThemeInfo('light_css_vars', 'light_css_vars.json', 'light_vs.json'),
];
// Load all language/grammar metadata
diff --git a/src/theme.ts b/src/theme.ts
index 9f6db311..23e7bb2e 100644
--- a/src/theme.ts
+++ b/src/theme.ts
@@ -67,6 +67,24 @@ function isValidHexColor(hex: string): boolean {
return false;
}
+function isValidCssVarWithHexColorDefault(potentialCssVar: string): boolean {
+ let match = /var\(--(.*),\s?(#[0-9]+)\)/i.exec(potentialCssVar);
+ if (match !== null) {
+ let hex = match[2];
+ return isValidHexColor(hex);
+ }
+
+ return false;
+}
+
+function colorValueToId(cssValue: string): string {
+ let match = /(var\(--.*),\s?(#[0-9]+)\)/i.exec(cssValue);
+ if (match !== null) {
+ return match[1] + ', ' + match[2].toUpperCase() + ')'
+ }
+ return cssValue.toUpperCase();
+}
+
/**
* Parse a raw theme into rules.
*/
@@ -128,12 +146,23 @@ export function parseTheme(source: IRawTheme | undefined): ParsedThemeRule[] {
}
let foreground: string | null = null;
- if (typeof entry.settings.foreground === 'string' && isValidHexColor(entry.settings.foreground)) {
+ if (
+ typeof entry.settings.foreground === 'string' &&
+ (
+ isValidHexColor(entry.settings.foreground) ||
+ isValidCssVarWithHexColorDefault(entry.settings.foreground)
+ )
+ ) {
foreground = entry.settings.foreground;
}
let background: string | null = null;
- if (typeof entry.settings.background === 'string' && isValidHexColor(entry.settings.background)) {
+ if (typeof entry.settings.background === 'string' &&
+ (
+ isValidHexColor(entry.settings.background) ||
+ isValidCssVarWithHexColorDefault(entry.settings.background)
+ )
+ ) {
background = entry.settings.background;
}
@@ -236,7 +265,7 @@ export class ColorMap {
if (color === null) {
return 0;
}
- color = color.toUpperCase();
+ color = colorValueToId(color);
let value = this._color2id[color];
if (value) {
return value;
diff --git a/test-cases/themes/light_css_vars.json b/test-cases/themes/light_css_vars.json
new file mode 100644
index 00000000..519750de
--- /dev/null
+++ b/test-cases/themes/light_css_vars.json
@@ -0,0 +1,18 @@
+{
+ "name": "Light Visual Studio",
+ "include": "./light_vs.json",
+ "settings": [
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "var(--text-comment-color, #008000)"
+ }
+ },
+ {
+ "scope": "constant.numeric",
+ "settings": {
+ "foreground": "var(--text-const-num-color, #09885a)"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test-cases/themes/tests/12750.html.result b/test-cases/themes/tests/12750.html.result
index e963ce33..a7208748 100644
--- a/test-cases/themes/tests/12750.html.result
+++ b/test-cases/themes/tests/12750.html.result
@@ -1522,5 +1522,79 @@
"content": ">",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/13448.html.result b/test-cases/themes/tests/13448.html.result
index ad6431de..389b1e87 100644
--- a/test-cases/themes/tests/13448.html.result
+++ b/test-cases/themes/tests/13448.html.result
@@ -494,5 +494,19 @@
"content": "",
"color": "#FF9DA4"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "",
+ "color": "#800000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/14119.less.result b/test-cases/themes/tests/14119.less.result
index d7d0f829..75a8c264 100644
--- a/test-cases/themes/tests/14119.less.result
+++ b/test-cases/themes/tests/14119.less.result
@@ -678,5 +678,47 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "#f",
+ "color": "#800000"
+ },
+ {
+ "content": "(@hm: ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"broken highlighting in VS Code\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ") {",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "content",
+ "color": "#FF0000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/COMMIT_EDITMSG.result b/test-cases/themes/tests/COMMIT_EDITMSG.result
index b1e1ccc0..590daa43 100644
--- a/test-cases/themes/tests/COMMIT_EDITMSG.result
+++ b/test-cases/themes/tests/COMMIT_EDITMSG.result
@@ -806,5 +806,67 @@
"content": "#",
"color": "#7285B7"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "This is the summary line. It can't be too long.",
+ "color": "#000000"
+ },
+ {
+ "content": "After I can write a much more detailed description without quite the same restrictions on length.",
+ "color": "#000000"
+ },
+ {
+ "content": "# Please enter the commit message for your changes. Lines starting",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# with '#' will be ignored, and an empty message aborts the commit.",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# On branch master",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# Your branch is up-to-date with 'origin/master'.",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "#",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# Changes to be committed:",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "#\t",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "deleted: README.md",
+ "color": "#A31515"
+ },
+ {
+ "content": "#\t",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "modified: index.less",
+ "color": "#0451A5"
+ },
+ {
+ "content": "#\t",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "new file: spec/COMMIT_EDITMSG",
+ "color": "#09885A"
+ },
+ {
+ "content": "#",
+ "color": "var(--text-comment-color, #008000)"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/Dockerfile.result b/test-cases/themes/tests/Dockerfile.result
index 34842990..a2c4cb97 100644
--- a/test-cases/themes/tests/Dockerfile.result
+++ b/test-cases/themes/tests/Dockerfile.result
@@ -1538,5 +1538,115 @@
"content": "] ",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "FROM",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ubuntu",
+ "color": "#000000"
+ },
+ {
+ "content": "MAINTAINER",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Kimbro Staken",
+ "color": "#000000"
+ },
+ {
+ "content": "RUN",
+ "color": "#0000FF"
+ },
+ {
+ "content": " apt-get install -y software-properties-common python",
+ "color": "#000000"
+ },
+ {
+ "content": "RUN",
+ "color": "#0000FF"
+ },
+ {
+ "content": " add-apt-repository ppa:chris-lea/node.js",
+ "color": "#000000"
+ },
+ {
+ "content": "RUN",
+ "color": "#0000FF"
+ },
+ {
+ "content": " echo ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"deb http://us.archive.ubuntu.com/ubuntu/ precise universe\"",
+ "color": "#A31515"
+ },
+ {
+ "content": " >> /etc/apt/sources.list",
+ "color": "#000000"
+ },
+ {
+ "content": "RUN",
+ "color": "#0000FF"
+ },
+ {
+ "content": " apt-get update",
+ "color": "#000000"
+ },
+ {
+ "content": "RUN",
+ "color": "#0000FF"
+ },
+ {
+ "content": " apt-get install -y nodejs",
+ "color": "#000000"
+ },
+ {
+ "content": "#RUN apt-get install -y nodejs=0.6.12~dfsg1-1ubuntu1",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "RUN",
+ "color": "#0000FF"
+ },
+ {
+ "content": " mkdir /var/www",
+ "color": "#000000"
+ },
+ {
+ "content": "ADD",
+ "color": "#0000FF"
+ },
+ {
+ "content": " app.js /var/www/app.js",
+ "color": "#000000"
+ },
+ {
+ "content": "CMD",
+ "color": "#0000FF"
+ },
+ {
+ "content": " [",
+ "color": "#000000"
+ },
+ {
+ "content": "\"/usr/bin/node\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ", ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"/var/www/app.js\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "] ",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/basic.java.result b/test-cases/themes/tests/basic.java.result
index 33479bae..90d15ad2 100644
--- a/test-cases/themes/tests/basic.java.result
+++ b/test-cases/themes/tests/basic.java.result
@@ -7666,5 +7666,427 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "package",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo;",
+ "color": "#000000"
+ },
+ {
+ "content": "import",
+ "color": "#0000FF"
+ },
+ {
+ "content": " org.junit.Test;",
+ "color": "#000000"
+ },
+ {
+ "content": "import",
+ "color": "#0000FF"
+ },
+ {
+ "content": " org.junit.runners.*;",
+ "color": "#000000"
+ },
+ {
+ "content": "/*",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": " * Multi line comment",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": " */",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "public",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " TestClass {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "private",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "String",
+ "color": "#0000FF"
+ },
+ {
+ "content": " aString;",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "/**",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t * @param args",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t */",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "public",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "void",
+ "color": "#0000FF"
+ },
+ {
+ "content": " doSomething(",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " a) {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "double",
+ "color": "#0000FF"
+ },
+ {
+ "content": " b = ",
+ "color": "#000000"
+ },
+ {
+ "content": "0.0",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "double",
+ "color": "#0000FF"
+ },
+ {
+ "content": " c = ",
+ "color": "#000000"
+ },
+ {
+ "content": "10e3",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "long",
+ "color": "#0000FF"
+ },
+ {
+ "content": " l = ",
+ "color": "#000000"
+ },
+ {
+ "content": "134l",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t}",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "/*",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t * multiline comment",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t */",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "@SuppressWarnings",
+ "color": "#0000FF"
+ },
+ {
+ "content": "(value = ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"aString\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "private",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "long",
+ "color": "#0000FF"
+ },
+ {
+ "content": " privateMethod(",
+ "color": "#000000"
+ },
+ {
+ "content": "long",
+ "color": "#0000FF"
+ },
+ {
+ "content": " b){",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i = ",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i < ",
+ "color": "#000000"
+ },
+ {
+ "content": "9",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i++) {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "System",
+ "color": "#0000FF"
+ },
+ {
+ "content": ".out.println(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Hello\"",
+ "color": "#A31515"
+ },
+ {
+ "content": " + i);",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t}",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "return",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "10",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t}",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "//single line comment",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "@Test",
+ "color": "#0000FF"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "public",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "void",
+ "color": "#0000FF"
+ },
+ {
+ "content": " someTests() {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " hex = ",
+ "color": "#000000"
+ },
+ {
+ "content": "0x5",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "Vector",
+ "color": "#0000FF"
+ },
+ {
+ "content": " v = ",
+ "color": "#000000"
+ },
+ {
+ "content": "new",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "Vector",
+ "color": "#0000FF"
+ },
+ {
+ "content": "();",
+ "color": "#000000"
+ },
+ {
+ "content": "\t}",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/git-rebase-todo.result b/test-cases/themes/tests/git-rebase-todo.result
index 73dc8e38..8bab5b69 100644
--- a/test-cases/themes/tests/git-rebase-todo.result
+++ b/test-cases/themes/tests/git-rebase-todo.result
@@ -1650,5 +1650,147 @@
"content": "# x, exec = run command (the rest of the line) using shell",
"color": "#7285B7"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "pick",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "1fc6c95",
+ "color": "#09885A"
+ },
+ {
+ "content": " Patch A",
+ "color": "#000000"
+ },
+ {
+ "content": "squash",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "fa39187",
+ "color": "#09885A"
+ },
+ {
+ "content": " Something to add to patch A",
+ "color": "#000000"
+ },
+ {
+ "content": "pick",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "7b36971",
+ "color": "#09885A"
+ },
+ {
+ "content": " Something to move before patch B",
+ "color": "#000000"
+ },
+ {
+ "content": "pick",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "6b2481b",
+ "color": "#09885A"
+ },
+ {
+ "content": " Patch B",
+ "color": "#000000"
+ },
+ {
+ "content": "fixup",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "c619268",
+ "color": "#09885A"
+ },
+ {
+ "content": " A fix for Patch B",
+ "color": "#000000"
+ },
+ {
+ "content": "edit",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "dd1475d",
+ "color": "#09885A"
+ },
+ {
+ "content": " Something I want to split",
+ "color": "#000000"
+ },
+ {
+ "content": "reword",
+ "color": "#0451A5"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "4ca2acc",
+ "color": "#09885A"
+ },
+ {
+ "content": " i cant' typ goods",
+ "color": "#000000"
+ },
+ {
+ "content": "# Commands:",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# p, pick = use commit",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# r, reword = use commit, but edit the commit message",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# e, edit = use commit, but stop for amending",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# s, squash = use commit, but meld into previous commit",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# f, fixup = like \"squash\", but discard this commit's log message",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "# x, exec = run command (the rest of the line) using shell",
+ "color": "var(--text-comment-color, #008000)"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/issue-1550.yaml.result b/test-cases/themes/tests/issue-1550.yaml.result
index 6a9c1290..d309e19d 100644
--- a/test-cases/themes/tests/issue-1550.yaml.result
+++ b/test-cases/themes/tests/issue-1550.yaml.result
@@ -730,5 +730,55 @@
"content": "abc-def",
"color": "#D1F1A9"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "test1",
+ "color": "#800000"
+ },
+ {
+ "content": " : ",
+ "color": "#000000"
+ },
+ {
+ "content": "dsd",
+ "color": "#0000FF"
+ },
+ {
+ "content": "test2",
+ "color": "#800000"
+ },
+ {
+ "content": " : ",
+ "color": "#000000"
+ },
+ {
+ "content": "abc-def",
+ "color": "#0000FF"
+ },
+ {
+ "content": "test-3",
+ "color": "#800000"
+ },
+ {
+ "content": " : ",
+ "color": "#000000"
+ },
+ {
+ "content": "abcdef",
+ "color": "#0000FF"
+ },
+ {
+ "content": "test-4",
+ "color": "#800000"
+ },
+ {
+ "content": " : ",
+ "color": "#000000"
+ },
+ {
+ "content": "abc-def",
+ "color": "#0000FF"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/issue-4008.yaml.result b/test-cases/themes/tests/issue-4008.yaml.result
index 8267ccb5..bd3d3a51 100644
--- a/test-cases/themes/tests/issue-4008.yaml.result
+++ b/test-cases/themes/tests/issue-4008.yaml.result
@@ -938,5 +938,71 @@
"content": "1",
"color": "#FFC58F"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "- ",
+ "color": "#000000"
+ },
+ {
+ "content": "blue",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "a=\"brown,not_brown\"",
+ "color": "#0000FF"
+ },
+ {
+ "content": "- ",
+ "color": "#000000"
+ },
+ {
+ "content": "not_blue",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "foo",
+ "color": "#0000FF"
+ },
+ {
+ "content": "- ",
+ "color": "#000000"
+ },
+ {
+ "content": "blue",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "foo=\"}\"",
+ "color": "#0000FF"
+ },
+ {
+ "content": "- ",
+ "color": "#000000"
+ },
+ {
+ "content": "not_blue",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/issue-6303.yaml.result b/test-cases/themes/tests/issue-6303.yaml.result
index 3962c7b6..9cb3fa67 100644
--- a/test-cases/themes/tests/issue-6303.yaml.result
+++ b/test-cases/themes/tests/issue-6303.yaml.result
@@ -1194,5 +1194,87 @@
"content": "initial",
"color": "#D1F1A9"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "swagger",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "'2.0'",
+ "color": "#0000FF"
+ },
+ {
+ "content": "info",
+ "color": "#800000"
+ },
+ {
+ "content": ":",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "description",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "'The API Management Service API defines an updated and refined version",
+ "color": "#0000FF"
+ },
+ {
+ "content": " of the concepts currently known as Developer, APP, and API Product in Edge. Of",
+ "color": "#0000FF"
+ },
+ {
+ "content": " note is the introduction of the API concept, missing previously from Edge",
+ "color": "#0000FF"
+ },
+ {
+ "content": " '",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "title",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "API Management Service API",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "version",
+ "color": "#800000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "initial",
+ "color": "#0000FF"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/makefile.result b/test-cases/themes/tests/makefile.result
index 9ae833ed..6cb75c14 100644
--- a/test-cases/themes/tests/makefile.result
+++ b/test-cases/themes/tests/makefile.result
@@ -2946,5 +2946,143 @@
"content": "endif",
"color": "#EBBBFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "all: hello",
+ "color": "#000000"
+ },
+ {
+ "content": "hello: main.o factorial.o hello.o",
+ "color": "#000000"
+ },
+ {
+ "content": " g++ main.o factorial.o hello.o -o hello",
+ "color": "#000000"
+ },
+ {
+ "content": "main.o: main.cpp",
+ "color": "#000000"
+ },
+ {
+ "content": " g++ -c main.cpp",
+ "color": "#000000"
+ },
+ {
+ "content": "factorial.o: factorial.cpp",
+ "color": "#000000"
+ },
+ {
+ "content": " g++ -c factorial.cpp",
+ "color": "#000000"
+ },
+ {
+ "content": "hello.o: hello.cpp",
+ "color": "#000000"
+ },
+ {
+ "content": " g++ -c hello.cpp",
+ "color": "#000000"
+ },
+ {
+ "content": "clean:",
+ "color": "#000000"
+ },
+ {
+ "content": " rm *o hello",
+ "color": "#000000"
+ },
+ {
+ "content": "define",
+ "color": "#0000FF"
+ },
+ {
+ "content": " defined",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "$(info Checkng existance of $(1))",
+ "color": "#A31515"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "$(if ifeq \"$(flavor $(1))\" \"undefined\",0,1)",
+ "color": "#A31515"
+ },
+ {
+ "content": "endef",
+ "color": "#0000FF"
+ },
+ {
+ "content": "ifeq",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "$(call defined,TOP_DIR)",
+ "color": "#A31515"
+ },
+ {
+ "content": ",0)",
+ "color": "#000000"
+ },
+ {
+ "content": "TOP_DIR must be set before including paths.mk",
+ "color": "#000000"
+ },
+ {
+ "content": "endif",
+ "color": "#0000FF"
+ },
+ {
+ "content": "include",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "$(TOP_DIR)",
+ "color": "#A31515"
+ },
+ {
+ "content": "3rdparty.mk",
+ "color": "#000000"
+ },
+ {
+ "content": "ifeq",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "$(call defined,CODIT_DIR)",
+ "color": "#A31515"
+ },
+ {
+ "content": ",0)",
+ "color": "#000000"
+ },
+ {
+ "content": "CODIT_DIR must be set in $(TOP_DIR)3rdparty.mk",
+ "color": "#000000"
+ },
+ {
+ "content": "endif",
+ "color": "#0000FF"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-13777.go.result b/test-cases/themes/tests/test-13777.go.result
index a2deb0a7..5b90645d 100644
--- a/test-cases/themes/tests/test-13777.go.result
+++ b/test-cases/themes/tests/test-13777.go.result
@@ -214,5 +214,15 @@
"content": " in highligher?)",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "var",
+ "color": "#0000FF"
+ },
+ {
+ "content": " e [][]*aType // ( bug in highligher?)",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-4287.jade.result b/test-cases/themes/tests/test-4287.jade.result
index f4dd6168..350809e3 100644
--- a/test-cases/themes/tests/test-4287.jade.result
+++ b/test-cases/themes/tests/test-4287.jade.result
@@ -138,5 +138,15 @@
"content": " // asdsdas",
"color": "#D1F1A9"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": ".ssdsd",
+ "color": "#0000FF"
+ },
+ {
+ "content": " // asdsdas",
+ "color": "#0000FF"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-6611.rs.result b/test-cases/themes/tests/test-6611.rs.result
index 08d5f6f9..a10ca4f4 100644
--- a/test-cases/themes/tests/test-6611.rs.result
+++ b/test-cases/themes/tests/test-6611.rs.result
@@ -2898,5 +2898,187 @@
"content": "{ }",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "impl",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Foo",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "where",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A: B",
+ "color": "#000000"
+ },
+ {
+ "content": "{ }",
+ "color": "#000000"
+ },
+ {
+ "content": "impl",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Foo ",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " C",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "where",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A: B",
+ "color": "#000000"
+ },
+ {
+ "content": "{ }",
+ "color": "#000000"
+ },
+ {
+ "content": "impl",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Foo ",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " C",
+ "color": "#000000"
+ },
+ {
+ "content": "{",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "fn",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo -> C",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "where",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A: B",
+ "color": "#000000"
+ },
+ {
+ "content": " { }",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "fn",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo -> C",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "where",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A: B",
+ "color": "#000000"
+ },
+ {
+ "content": "{ }",
+ "color": "#000000"
+ },
+ {
+ "content": "struct",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Foo",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "where",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A: B",
+ "color": "#000000"
+ },
+ {
+ "content": "{ }",
+ "color": "#000000"
+ },
+ {
+ "content": "trait",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Foo : C",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "where",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A: B",
+ "color": "#000000"
+ },
+ {
+ "content": "{ }",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-7115.xml.result b/test-cases/themes/tests/test-7115.xml.result
index 99fc33c4..ce9a415c 100644
--- a/test-cases/themes/tests/test-7115.xml.result
+++ b/test-cases/themes/tests/test-7115.xml.result
@@ -2142,5 +2142,131 @@
"content": "",
"color": "#FF9DA4"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ },
+ {
+ "content": "",
+ "color": "#800000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-brackets.tsx.result b/test-cases/themes/tests/test-brackets.tsx.result
index dbca7da7..6a0c02ed 100644
--- a/test-cases/themes/tests/test-brackets.tsx.result
+++ b/test-cases/themes/tests/test-brackets.tsx.result
@@ -1494,5 +1494,51 @@
"content": ";",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " a = Array(); ",
+ "color": "#000000"
+ },
+ {
+ "content": "// Highlight ok here",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "interface",
+ "color": "#0000FF"
+ },
+ {
+ "content": " egGenericsInArray {",
+ "color": "#000000"
+ },
+ {
+ "content": " a: Array;",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " s = ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"nothing should fail here...\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-cssvariables.less.result b/test-cases/themes/tests/test-cssvariables.less.result
index 88579c5d..be8ab7a1 100644
--- a/test-cases/themes/tests/test-cssvariables.less.result
+++ b/test-cases/themes/tests/test-cssvariables.less.result
@@ -1926,5 +1926,107 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": ":root",
+ "color": "#800000"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " --spacing-unit: ",
+ "color": "#000000"
+ },
+ {
+ "content": "6px",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": " --cell-padding: (",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": " * ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#800000"
+ },
+ {
+ "content": "(--spacing-unit));",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "body",
+ "color": "#800000"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "padding-left",
+ "color": "#FF0000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "calc",
+ "color": "#0451A5"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": " * ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#800000"
+ },
+ {
+ "content": "(--spacing-unit, ",
+ "color": "#000000"
+ },
+ {
+ "content": "5px",
+ "color": "#09885A"
+ },
+ {
+ "content": "));",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-cssvariables.scss.result b/test-cases/themes/tests/test-cssvariables.scss.result
index 694a7f40..658001d4 100644
--- a/test-cases/themes/tests/test-cssvariables.scss.result
+++ b/test-cases/themes/tests/test-cssvariables.scss.result
@@ -1938,5 +1938,123 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": ":root",
+ "color": "#800000"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "--spacing-unit",
+ "color": "#CD3131"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "6px",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "--cell-padding",
+ "color": "#CD3131"
+ },
+ {
+ "content": ": (",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": " * ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0451A5"
+ },
+ {
+ "content": "(--spacing-unit));",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "body",
+ "color": "#800000"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "padding-left",
+ "color": "#FF0000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "calc",
+ "color": "#0451A5"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": " * ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0451A5"
+ },
+ {
+ "content": "(--spacing-unit, ",
+ "color": "#000000"
+ },
+ {
+ "content": "5px",
+ "color": "#09885A"
+ },
+ {
+ "content": "));",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-function-inv.ts.result b/test-cases/themes/tests/test-function-inv.ts.result
index 3a49dc3b..e1a8e5a0 100644
--- a/test-cases/themes/tests/test-function-inv.ts.result
+++ b/test-cases/themes/tests/test-function-inv.ts.result
@@ -754,5 +754,27 @@
"content": ")));",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "rowData.push(callback(",
+ "color": "#000000"
+ },
+ {
+ "content": "new",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Cell(row, col, ",
+ "color": "#000000"
+ },
+ {
+ "content": "false",
+ "color": "#0000FF"
+ },
+ {
+ "content": ")));",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-issue11.ts.result b/test-cases/themes/tests/test-issue11.ts.result
index ea5e9fff..388b56be 100644
--- a/test-cases/themes/tests/test-issue11.ts.result
+++ b/test-cases/themes/tests/test-issue11.ts.result
@@ -11438,5 +11438,431 @@
"content": ">();",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " keyCode = ",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "if",
+ "color": "#0000FF"
+ },
+ {
+ "content": "(!(keyCode === ",
+ "color": "#000000"
+ },
+ {
+ "content": "8",
+ "color": "#09885A"
+ },
+ {
+ "content": " || (keyCode>=",
+ "color": "#000000"
+ },
+ {
+ "content": "48",
+ "color": "#09885A"
+ },
+ {
+ "content": " && keyCode<=",
+ "color": "#000000"
+ },
+ {
+ "content": "57",
+ "color": "#09885A"
+ },
+ {
+ "content": "))) {}",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i=",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i<",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i++) {}",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i=",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i<",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i++) {}",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i=",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i<",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": "; i++) {}",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (; i<",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": ";) {}",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i=",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": "; ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": "+( i<<",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": " ) < ",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": ";i++) {}",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0000FF"
+ },
+ {
+ "content": " p = ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": "?",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": ":(",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": "<",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": "?",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": ":",
+ "color": "#000000"
+ },
+ {
+ "content": "6",
+ "color": "#09885A"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A { }",
+ "color": "#000000"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A1",
+ "color": "#0000FF"
+ },
+ {
+ "content": " string }> { }",
+ "color": "#000000"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " B { }",
+ "color": "#000000"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " C { }",
+ "color": "#000000"
+ },
+ {
+ "content": "function",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo() { ",
+ "color": "#000000"
+ },
+ {
+ "content": "return",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": ";}",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " x1: A<(param?: number) ",
+ "color": "#000000"
+ },
+ {
+ "content": "=>",
+ "color": "#0000FF"
+ },
+ {
+ "content": " void, B>;",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " x2: A;",
+ "color": "#000000"
+ },
+ {
+ "content": "const",
+ "color": "#0000FF"
+ },
+ {
+ "content": " t = ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " < (",
+ "color": "#000000"
+ },
+ {
+ "content": "5",
+ "color": "#09885A"
+ },
+ {
+ "content": " > ",
+ "color": "#000000"
+ },
+ {
+ "content": "10",
+ "color": "#09885A"
+ },
+ {
+ "content": " ? ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " : ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0000FF"
+ },
+ {
+ "content": " f6 = ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " < foo();",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-issue5431.ts.result b/test-cases/themes/tests/test-issue5431.ts.result
index 44ffff9d..a6543f52 100644
--- a/test-cases/themes/tests/test-issue5431.ts.result
+++ b/test-cases/themes/tests/test-issue5431.ts.result
@@ -1850,5 +1850,99 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "function",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo(isAll, startTime, endTime) {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "const",
+ "color": "#0000FF"
+ },
+ {
+ "content": " timeRange = isAll ? ",
+ "color": "#000000"
+ },
+ {
+ "content": "'所有时间'",
+ "color": "#A31515"
+ },
+ {
+ "content": " : ",
+ "color": "#000000"
+ },
+ {
+ "content": "`",
+ "color": "#A31515"
+ },
+ {
+ "content": "${",
+ "color": "#0000FF"
+ },
+ {
+ "content": "startTime",
+ "color": "#A31515"
+ },
+ {
+ "content": "}",
+ "color": "#0000FF"
+ },
+ {
+ "content": " - ",
+ "color": "#A31515"
+ },
+ {
+ "content": "${",
+ "color": "#0000FF"
+ },
+ {
+ "content": "endTime",
+ "color": "#A31515"
+ },
+ {
+ "content": "}",
+ "color": "#0000FF"
+ },
+ {
+ "content": "`",
+ "color": "#A31515"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "return",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "true",
+ "color": "#0000FF"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-issue5465.ts.result b/test-cases/themes/tests/test-issue5465.ts.result
index 5016e329..93f1b952 100644
--- a/test-cases/themes/tests/test-issue5465.ts.result
+++ b/test-cases/themes/tests/test-issue5465.ts.result
@@ -926,5 +926,59 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "function*",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo2() {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "yield",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "'bar'",
+ "color": "#A31515"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "yield*",
+ "color": "#0000FF"
+ },
+ {
+ "content": " [",
+ "color": "#000000"
+ },
+ {
+ "content": "'bar'",
+ "color": "#A31515"
+ },
+ {
+ "content": "];",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-issue5566.ts.result b/test-cases/themes/tests/test-issue5566.ts.result
index b4fa3bff..d491b3c0 100644
--- a/test-cases/themes/tests/test-issue5566.ts.result
+++ b/test-cases/themes/tests/test-issue5566.ts.result
@@ -1158,5 +1158,55 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "function",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo3() {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "const",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo = (): any ",
+ "color": "#000000"
+ },
+ {
+ "content": "=>",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ({ ",
+ "color": "#000000"
+ },
+ {
+ "content": "'bar'",
+ "color": "#A31515"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "'baz'",
+ "color": "#A31515"
+ },
+ {
+ "content": " })",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-keywords.ts.result b/test-cases/themes/tests/test-keywords.ts.result
index e3d28589..df0ba0f8 100644
--- a/test-cases/themes/tests/test-keywords.ts.result
+++ b/test-cases/themes/tests/test-keywords.ts.result
@@ -838,5 +838,47 @@
"content": ");",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "export",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0000FF"
+ },
+ {
+ "content": " foo = () ",
+ "color": "#000000"
+ },
+ {
+ "content": "=>",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "new",
+ "color": "#0000FF"
+ },
+ {
+ "content": " RegExp(",
+ "color": "#000000"
+ },
+ {
+ "content": "''",
+ "color": "#A31515"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-members.ts.result b/test-cases/themes/tests/test-members.ts.result
index dc854afc..e6e98a4e 100644
--- a/test-cases/themes/tests/test-members.ts.result
+++ b/test-cases/themes/tests/test-members.ts.result
@@ -1382,5 +1382,55 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " A2 {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "public",
+ "color": "#0000FF"
+ },
+ {
+ "content": " count: number = ",
+ "color": "#000000"
+ },
+ {
+ "content": "9",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "public",
+ "color": "#0000FF"
+ },
+ {
+ "content": " resolveNextGeneration(cell : A2) {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t}",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-object-literals.ts.result b/test-cases/themes/tests/test-object-literals.ts.result
index 715a7ba1..2b1a66ed 100644
--- a/test-cases/themes/tests/test-object-literals.ts.result
+++ b/test-cases/themes/tests/test-object-literals.ts.result
@@ -774,5 +774,39 @@
"content": "};",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " s1 = {",
+ "color": "#000000"
+ },
+ {
+ "content": "\tk: {",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\tk1: s,",
+ "color": "#000000"
+ },
+ {
+ "content": "\t\tk2: ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": "\t}",
+ "color": "#000000"
+ },
+ {
+ "content": "};",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-regex.coffee.result b/test-cases/themes/tests/test-regex.coffee.result
index c3d60a7a..84517117 100644
--- a/test-cases/themes/tests/test-regex.coffee.result
+++ b/test-cases/themes/tests/test-regex.coffee.result
@@ -2050,5 +2050,111 @@
"content": "///",
"color": "#FF9DA4"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "regex = ",
+ "color": "#000000"
+ },
+ {
+ "content": "/Hello (\\d",
+ "color": "#811F3F"
+ },
+ {
+ "content": "+",
+ "color": "#000000"
+ },
+ {
+ "content": ") #{user}/g",
+ "color": "#811F3F"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": " / ",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "/3",
+ "color": "#811F3F"
+ },
+ {
+ "content": "a = b/c ",
+ "color": "#811F3F"
+ },
+ {
+ "content": "+",
+ "color": "#000000"
+ },
+ {
+ "content": " d/g",
+ "color": "#811F3F"
+ },
+ {
+ "content": "someOtherStuff",
+ "color": "#000000"
+ },
+ {
+ "content": "name=",
+ "color": "#000000"
+ },
+ {
+ "content": "\"hello\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "test=",
+ "color": "#000000"
+ },
+ {
+ "content": "/// ",
+ "color": "#811F3F"
+ },
+ {
+ "content": "#{name}",
+ "color": "#811F3F"
+ },
+ {
+ "content": "fancyRegExp = ///",
+ "color": "#811F3F"
+ },
+ {
+ "content": "\t(\\d+)\t",
+ "color": "#000000"
+ },
+ {
+ "content": "# numbers",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t(\\w*)\t",
+ "color": "#000000"
+ },
+ {
+ "content": "# letters",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t$\t\t",
+ "color": "#000000"
+ },
+ {
+ "content": "# the end",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "///",
+ "color": "#811F3F"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-strings.ts.result b/test-cases/themes/tests/test-strings.ts.result
index 6740ddeb..d6d252b1 100644
--- a/test-cases/themes/tests/test-strings.ts.result
+++ b/test-cases/themes/tests/test-strings.ts.result
@@ -1962,5 +1962,115 @@
"content": ";",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "var",
+ "color": "#0000FF"
+ },
+ {
+ "content": " x = ",
+ "color": "#000000"
+ },
+ {
+ "content": "`Hello ",
+ "color": "#A31515"
+ },
+ {
+ "content": "${",
+ "color": "#0000FF"
+ },
+ {
+ "content": "foo",
+ "color": "#A31515"
+ },
+ {
+ "content": "}",
+ "color": "#0000FF"
+ },
+ {
+ "content": "!`",
+ "color": "#A31515"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "console.log(",
+ "color": "#000000"
+ },
+ {
+ "content": "`string text line 1",
+ "color": "#A31515"
+ },
+ {
+ "content": "string text line 2`",
+ "color": "#A31515"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": "x = ",
+ "color": "#000000"
+ },
+ {
+ "content": "tag`Hello ",
+ "color": "#A31515"
+ },
+ {
+ "content": "${",
+ "color": "#0000FF"
+ },
+ {
+ "content": " a ",
+ "color": "#A31515"
+ },
+ {
+ "content": "+",
+ "color": "#000000"
+ },
+ {
+ "content": " b ",
+ "color": "#A31515"
+ },
+ {
+ "content": "}",
+ "color": "#0000FF"
+ },
+ {
+ "content": " world ",
+ "color": "#A31515"
+ },
+ {
+ "content": "${",
+ "color": "#0000FF"
+ },
+ {
+ "content": " a ",
+ "color": "#A31515"
+ },
+ {
+ "content": "*",
+ "color": "#000000"
+ },
+ {
+ "content": " b ",
+ "color": "#A31515"
+ },
+ {
+ "content": "}",
+ "color": "#0000FF"
+ },
+ {
+ "content": "`",
+ "color": "#A31515"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-this.ts.result b/test-cases/themes/tests/test-this.ts.result
index 95c50f15..6029bf61 100644
--- a/test-cases/themes/tests/test-this.ts.result
+++ b/test-cases/themes/tests/test-this.ts.result
@@ -538,5 +538,35 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "{",
+ "color": "#000000"
+ },
+ {
+ "content": "\t",
+ "color": "#000000"
+ },
+ {
+ "content": "this",
+ "color": "#0000FF"
+ },
+ {
+ "content": ".foo = ",
+ "color": "#000000"
+ },
+ {
+ "content": "9",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test-variables.css.result b/test-cases/themes/tests/test-variables.css.result
index dbda0527..bab103b7 100644
--- a/test-cases/themes/tests/test-variables.css.result
+++ b/test-cases/themes/tests/test-variables.css.result
@@ -1650,5 +1650,123 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": ":root ",
+ "color": "#800000"
+ },
+ {
+ "content": "{",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "--spacing-unit",
+ "color": "#FF0000"
+ },
+ {
+ "content": ": ",
+ "color": "#000000"
+ },
+ {
+ "content": "6px",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "--cell-padding",
+ "color": "#FF0000"
+ },
+ {
+ "content": ": (",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": " * ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0451A5"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "--spacing-unit",
+ "color": "#FF0000"
+ },
+ {
+ "content": "));",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "body ",
+ "color": "#800000"
+ },
+ {
+ "content": "{",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "padding-left",
+ "color": "#FF0000"
+ },
+ {
+ "content": ": calc(",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": " * ",
+ "color": "#000000"
+ },
+ {
+ "content": "var",
+ "color": "#0451A5"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "--spacing-unit",
+ "color": "#FF0000"
+ },
+ {
+ "content": ", 5px));",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.bat.result b/test-cases/themes/tests/test.bat.result
index 563b2626..952bbc1f 100644
--- a/test-cases/themes/tests/test.bat.result
+++ b/test-cases/themes/tests/test.bat.result
@@ -1938,5 +1938,139 @@
"content": "endlocal",
"color": "#EBBBFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "@",
+ "color": "#000000"
+ },
+ {
+ "content": "echo",
+ "color": "#0000FF"
+ },
+ {
+ "content": " off",
+ "color": "#000000"
+ },
+ {
+ "content": "setlocal",
+ "color": "#0000FF"
+ },
+ {
+ "content": "title",
+ "color": "#0000FF"
+ },
+ {
+ "content": " VSCode Dev",
+ "color": "#000000"
+ },
+ {
+ "content": "pushd",
+ "color": "#0000FF"
+ },
+ {
+ "content": " %~dp0\\..",
+ "color": "#000000"
+ },
+ {
+ "content": ":: Node modules",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "if not exist",
+ "color": "#0000FF"
+ },
+ {
+ "content": " node_modules ",
+ "color": "#000000"
+ },
+ {
+ "content": "call",
+ "color": "#0000FF"
+ },
+ {
+ "content": " .\\scripts\\npm.bat install",
+ "color": "#000000"
+ },
+ {
+ "content": ":: Get electron",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "node .\\node_modules\\gulp\\bin\\gulp.js electron",
+ "color": "#000000"
+ },
+ {
+ "content": ":: Build",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "if not exist",
+ "color": "#0000FF"
+ },
+ {
+ "content": " out node .\\node_modules\\gulp\\bin\\gulp.js compile",
+ "color": "#000000"
+ },
+ {
+ "content": ":: Configuration",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "set",
+ "color": "#0000FF"
+ },
+ {
+ "content": " NODE_ENV=development",
+ "color": "#000000"
+ },
+ {
+ "content": "set",
+ "color": "#0000FF"
+ },
+ {
+ "content": " VSCODE_DEV=1",
+ "color": "#000000"
+ },
+ {
+ "content": "set",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ELECTRON_DEFAULT_ERROR_MODE=1",
+ "color": "#000000"
+ },
+ {
+ "content": "set",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ELECTRON_ENABLE_LOGGING=1",
+ "color": "#000000"
+ },
+ {
+ "content": "set",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ELECTRON_ENABLE_STACK_DUMPING=1",
+ "color": "#000000"
+ },
+ {
+ "content": ":: Launch Code",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": ".\\.build\\electron\\electron.exe . %*",
+ "color": "#000000"
+ },
+ {
+ "content": "popd",
+ "color": "#0000FF"
+ },
+ {
+ "content": "endlocal",
+ "color": "#0000FF"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.c.result b/test-cases/themes/tests/test.c.result
index 595c9446..97c75229 100644
--- a/test-cases/themes/tests/test.c.result
+++ b/test-cases/themes/tests/test.c.result
@@ -7738,5 +7738,299 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "/* C Program to find roots of a quadratic equation when coefficients are entered by user. */",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "/* Library function sqrt() computes the square root. */",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "#include ",
+ "color": "#0000FF"
+ },
+ {
+ "content": "",
+ "color": "#A31515"
+ },
+ {
+ "content": "#include ",
+ "color": "#0000FF"
+ },
+ {
+ "content": "",
+ "color": "#A31515"
+ },
+ {
+ "content": " ",
+ "color": "#0000FF"
+ },
+ {
+ "content": "/* This is needed to use sqrt() function.*/",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " main()",
+ "color": "#000000"
+ },
+ {
+ "content": "{",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "float",
+ "color": "#0000FF"
+ },
+ {
+ "content": " a, b, c, determinant, r1,r2, real, imag;",
+ "color": "#000000"
+ },
+ {
+ "content": " printf(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Enter coefficients a, b and c: \"",
+ "color": "#A31515"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": " scanf(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"%f%f%f\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ",&a,&b,&c);",
+ "color": "#000000"
+ },
+ {
+ "content": " determinant=b*b-",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": "*a*c;",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "if",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (determinant>",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " r1= (-b+sqrt(determinant))/(",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "*a);",
+ "color": "#000000"
+ },
+ {
+ "content": " r2= (-b-sqrt(determinant))/(",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "*a);",
+ "color": "#000000"
+ },
+ {
+ "content": " printf(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Roots are: %.2f and %.2f\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ",r1 , r2);",
+ "color": "#000000"
+ },
+ {
+ "content": " }",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "else",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "if",
+ "color": "#0000FF"
+ },
+ {
+ "content": " (determinant==",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " r1 = r2 = -b/(",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "*a);",
+ "color": "#000000"
+ },
+ {
+ "content": " printf(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Roots are: %.2f and %.2f\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ", r1, r2);",
+ "color": "#000000"
+ },
+ {
+ "content": " }",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "else",
+ "color": "#0000FF"
+ },
+ {
+ "content": " {",
+ "color": "#000000"
+ },
+ {
+ "content": " real= -b/(",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "*a);",
+ "color": "#000000"
+ },
+ {
+ "content": " imag = sqrt(-determinant)/(",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "*a);",
+ "color": "#000000"
+ },
+ {
+ "content": " printf(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Roots are: %.2f+%.2fi and %.2f-%.2fi\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ", real, imag, real, imag);",
+ "color": "#000000"
+ },
+ {
+ "content": " }",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "return",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.cc.result b/test-cases/themes/tests/test.cc.result
index 6b18cfd6..34371b80 100644
--- a/test-cases/themes/tests/test.cc.result
+++ b/test-cases/themes/tests/test.cc.result
@@ -5126,5 +5126,235 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "#if B4G_DEBUG_CHECK",
+ "color": "#0000FF"
+ },
+ {
+ "content": " fprintf(stderr,",
+ "color": "#000000"
+ },
+ {
+ "content": "\"num_candidate_ret=%d:\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ", num_candidate);",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i=",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": ";i o(",
+ "color": "#000000"
+ },
+ {
+ "content": "new",
+ "color": "#0000FF"
+ },
+ {
+ "content": " O);",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "// sadness.",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": " sprintf(options, ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"STYLE=Keramik;TITLE=%s;THEME=%s\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ", ...);",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " main2() {",
+ "color": "#000000"
+ },
+ {
+ "content": " printf(",
+ "color": "#000000"
+ },
+ {
+ "content": "\";\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "// the rest of",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": " asm(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"movw $0x38, %ax; ltr %ax\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": " fn(",
+ "color": "#000000"
+ },
+ {
+ "content": "\"{};\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "// the rest of",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.clj.result b/test-cases/themes/tests/test.clj.result
index 27994efd..32a9165a 100644
--- a/test-cases/themes/tests/test.clj.result
+++ b/test-cases/themes/tests/test.clj.result
@@ -7414,5 +7414,479 @@
"content": ";; ⇒ {:foo 2}",
"color": "#7285B7"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": ";; from http://clojure-doc.org/articles/tutorials/introduction.html",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "require",
+ "color": "#0000FF"
+ },
+ {
+ "content": " '[clojure.string :as str])",
+ "color": "#000000"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "def",
+ "color": "#0000FF"
+ },
+ {
+ "content": " the-answer ",
+ "color": "#000000"
+ },
+ {
+ "content": "42",
+ "color": "#09885A"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": "[",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": "] ",
+ "color": "#000000"
+ },
+ {
+ "content": "; A vector",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "[",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " :two ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"three\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "]",
+ "color": "#000000"
+ },
+ {
+ "content": "{:a ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " :b ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "#{:a :b :c}",
+ "color": "#000000"
+ },
+ {
+ "content": "'(",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "def",
+ "color": "#0000FF"
+ },
+ {
+ "content": " my-stuff [",
+ "color": "#000000"
+ },
+ {
+ "content": "\"shirt\"",
+ "color": "#A31515"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"coat\"",
+ "color": "#A31515"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"hat\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "]) ",
+ "color": "#000000"
+ },
+ {
+ "content": "; this is more typical usage.",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(my-func (my-func2 arg1",
+ "color": "#000000"
+ },
+ {
+ "content": " arg2)",
+ "color": "#000000"
+ },
+ {
+ "content": " (other-func arg-a",
+ "color": "#000000"
+ },
+ {
+ "content": " (foo-bar arg-x",
+ "color": "#000000"
+ },
+ {
+ "content": " arg-y",
+ "color": "#000000"
+ },
+ {
+ "content": " (+ arg-xx",
+ "color": "#000000"
+ },
+ {
+ "content": " arg-yy",
+ "color": "#000000"
+ },
+ {
+ "content": " arg-zz))",
+ "color": "#000000"
+ },
+ {
+ "content": " arg-b))",
+ "color": "#000000"
+ },
+ {
+ "content": "'(+ ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": ";; ⇒ (+ 1 2 3)",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "let",
+ "color": "#0000FF"
+ },
+ {
+ "content": " [width ",
+ "color": "#000000"
+ },
+ {
+ "content": "10",
+ "color": "#09885A"
+ },
+ {
+ "content": " height ",
+ "color": "#000000"
+ },
+ {
+ "content": "20",
+ "color": "#09885A"
+ },
+ {
+ "content": " thickness ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "]",
+ "color": "#000000"
+ },
+ {
+ "content": " (println ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"hello from inside the `let`.\"",
+ "color": "#A31515"
+ },
+ {
+ "content": ")",
+ "color": "#000000"
+ },
+ {
+ "content": " (* width",
+ "color": "#000000"
+ },
+ {
+ "content": " height",
+ "color": "#000000"
+ },
+ {
+ "content": " thickness))",
+ "color": "#000000"
+ },
+ {
+ "content": ";; Vectors",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "def",
+ "color": "#0000FF"
+ },
+ {
+ "content": " v [:a :b :c])",
+ "color": "#000000"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "def",
+ "color": "#0000FF"
+ },
+ {
+ "content": " li '(:a :b :c))",
+ "color": "#000000"
+ },
+ {
+ "content": "(conj v :d) ",
+ "color": "#000000"
+ },
+ {
+ "content": "; ⇒ [:a :b :c :d]",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(conj li :d) ",
+ "color": "#000000"
+ },
+ {
+ "content": "; ⇒ (:d :a :b :c)",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "v ",
+ "color": "#000000"
+ },
+ {
+ "content": "; ⇒ is still [:a :b :c]",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "li ",
+ "color": "#000000"
+ },
+ {
+ "content": "; ⇒ is still (:a :b :c)",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": ";; Maps",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "def",
+ "color": "#0000FF"
+ },
+ {
+ "content": " m {:a ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": " :b ",
+ "color": "#000000"
+ },
+ {
+ "content": "2",
+ "color": "#09885A"
+ },
+ {
+ "content": "})",
+ "color": "#000000"
+ },
+ {
+ "content": "(assoc m :c ",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": ") ",
+ "color": "#000000"
+ },
+ {
+ "content": "; ⇒ {:a 1 :c 3 :b 2}",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(dissoc m :b) ",
+ "color": "#000000"
+ },
+ {
+ "content": "; ⇒ {:a 1}",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(",
+ "color": "#000000"
+ },
+ {
+ "content": "def",
+ "color": "#0000FF"
+ },
+ {
+ "content": " my-atom (atom {:foo ",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": "}))",
+ "color": "#000000"
+ },
+ {
+ "content": ";; ⇒ #'user/my-atom",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "@my-atom",
+ "color": "#000000"
+ },
+ {
+ "content": ";; ⇒ {:foo 1}",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "(swap! my-atom update-in [:foo] inc)",
+ "color": "#000000"
+ },
+ {
+ "content": ";; ⇒ {:foo 2}",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "@my-atom",
+ "color": "#000000"
+ },
+ {
+ "content": ";; ⇒ {:foo 2}",
+ "color": "var(--text-comment-color, #008000)"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.coffee.result b/test-cases/themes/tests/test.coffee.result
index f6f9b920..402599b9 100644
--- a/test-cases/themes/tests/test.coffee.result
+++ b/test-cases/themes/tests/test.coffee.result
@@ -5550,5 +5550,259 @@
"content": "///",
"color": "#FF9DA4"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "\"\"\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "A CoffeeScript sample.",
+ "color": "#A31515"
+ },
+ {
+ "content": "\"\"\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Vehicle",
+ "color": "#000000"
+ },
+ {
+ "content": " constructor: (@name) ",
+ "color": "#000000"
+ },
+ {
+ "content": "=>",
+ "color": "#0000FF"
+ },
+ {
+ "content": " drive: () ",
+ "color": "#000000"
+ },
+ {
+ "content": "=>",
+ "color": "#0000FF"
+ },
+ {
+ "content": " alert ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Drive ",
+ "color": "#A31515"
+ },
+ {
+ "content": "#{@name}",
+ "color": "#A31515"
+ },
+ {
+ "content": "\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Car ",
+ "color": "#000000"
+ },
+ {
+ "content": "extends",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Vehicle",
+ "color": "#000000"
+ },
+ {
+ "content": " drive: () ",
+ "color": "#000000"
+ },
+ {
+ "content": "=>",
+ "color": "#0000FF"
+ },
+ {
+ "content": " alert ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Driving ",
+ "color": "#A31515"
+ },
+ {
+ "content": "#{@name}",
+ "color": "#A31515"
+ },
+ {
+ "content": "\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "c = ",
+ "color": "#000000"
+ },
+ {
+ "content": "new",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Car ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"Volvo\"",
+ "color": "#A31515"
+ },
+ {
+ "content": "while",
+ "color": "#0000FF"
+ },
+ {
+ "content": " onTheRoad()",
+ "color": "#000000"
+ },
+ {
+ "content": " c.drive()",
+ "color": "#000000"
+ },
+ {
+ "content": "vehicles = (",
+ "color": "#000000"
+ },
+ {
+ "content": "new",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Car ",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " i ",
+ "color": "#000000"
+ },
+ {
+ "content": "in",
+ "color": "#0000FF"
+ },
+ {
+ "content": " [",
+ "color": "#000000"
+ },
+ {
+ "content": "1",
+ "color": "#09885A"
+ },
+ {
+ "content": "..",
+ "color": "#000000"
+ },
+ {
+ "content": "100",
+ "color": "#09885A"
+ },
+ {
+ "content": "])",
+ "color": "#000000"
+ },
+ {
+ "content": "startRace = (vehicles) ",
+ "color": "#000000"
+ },
+ {
+ "content": "->",
+ "color": "#0000FF"
+ },
+ {
+ "content": " [vehicle.drive() ",
+ "color": "#000000"
+ },
+ {
+ "content": "for",
+ "color": "#0000FF"
+ },
+ {
+ "content": " vehicle ",
+ "color": "#000000"
+ },
+ {
+ "content": "in",
+ "color": "#0000FF"
+ },
+ {
+ "content": " vehicles]",
+ "color": "#000000"
+ },
+ {
+ "content": "fancyRegExp = ",
+ "color": "#000000"
+ },
+ {
+ "content": "///",
+ "color": "#811F3F"
+ },
+ {
+ "content": "\t(\\d",
+ "color": "#811F3F"
+ },
+ {
+ "content": "+",
+ "color": "#000000"
+ },
+ {
+ "content": ")\t",
+ "color": "#811F3F"
+ },
+ {
+ "content": "# numbers",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t(\\w",
+ "color": "#811F3F"
+ },
+ {
+ "content": "*",
+ "color": "#000000"
+ },
+ {
+ "content": ")\t",
+ "color": "#811F3F"
+ },
+ {
+ "content": "# letters",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "\t",
+ "color": "#811F3F"
+ },
+ {
+ "content": "$",
+ "color": "#0000FF"
+ },
+ {
+ "content": "\t\t",
+ "color": "#811F3F"
+ },
+ {
+ "content": "# the end",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "///",
+ "color": "#811F3F"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.cpp.result b/test-cases/themes/tests/test.cpp.result
index 63f26b40..fe689300 100644
--- a/test-cases/themes/tests/test.cpp.result
+++ b/test-cases/themes/tests/test.cpp.result
@@ -4202,5 +4202,219 @@
"content": "}",
"color": "#FFFFFF"
}
+ ],
+ "light_css_vars": [
+ {
+ "content": "// classes example",
+ "color": "var(--text-comment-color, #008000)"
+ },
+ {
+ "content": "#include ",
+ "color": "#0000FF"
+ },
+ {
+ "content": "",
+ "color": "#A31515"
+ },
+ {
+ "content": "using",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "namespace",
+ "color": "#0000FF"
+ },
+ {
+ "content": " std;",
+ "color": "#000000"
+ },
+ {
+ "content": "class",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Rectangle {",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " width, height;",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "public:",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "void",
+ "color": "#0000FF"
+ },
+ {
+ "content": " set_values (",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": ",",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " area() {",
+ "color": "#000000"
+ },
+ {
+ "content": "return",
+ "color": "#0000FF"
+ },
+ {
+ "content": " width*height;}",
+ "color": "#000000"
+ },
+ {
+ "content": "};",
+ "color": "#000000"
+ },
+ {
+ "content": "void",
+ "color": "#0000FF"
+ },
+ {
+ "content": " Rectangle::set_values (",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " x, ",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " y) {",
+ "color": "#000000"
+ },
+ {
+ "content": " width = x;",
+ "color": "#000000"
+ },
+ {
+ "content": " height = y;",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ },
+ {
+ "content": "int",
+ "color": "#0000FF"
+ },
+ {
+ "content": " main () {",
+ "color": "#000000"
+ },
+ {
+ "content": " Rectangle rect;",
+ "color": "#000000"
+ },
+ {
+ "content": " rect.set_values (",
+ "color": "#000000"
+ },
+ {
+ "content": "3",
+ "color": "#09885A"
+ },
+ {
+ "content": ",",
+ "color": "#000000"
+ },
+ {
+ "content": "4",
+ "color": "#09885A"
+ },
+ {
+ "content": ");",
+ "color": "#000000"
+ },
+ {
+ "content": " cout << ",
+ "color": "#000000"
+ },
+ {
+ "content": "\"area: \"",
+ "color": "#A31515"
+ },
+ {
+ "content": " << rect.area();",
+ "color": "#000000"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "return",
+ "color": "#0000FF"
+ },
+ {
+ "content": " ",
+ "color": "#000000"
+ },
+ {
+ "content": "0",
+ "color": "#09885A"
+ },
+ {
+ "content": ";",
+ "color": "#000000"
+ },
+ {
+ "content": "}",
+ "color": "#000000"
+ }
]
}
\ No newline at end of file
diff --git a/test-cases/themes/tests/test.cshtml.result b/test-cases/themes/tests/test.cshtml.result
index b25c6575..4bf0cb2d 100644
--- a/test-cases/themes/tests/test.cshtml.result
+++ b/test-cases/themes/tests/test.cshtml.result
@@ -13634,5 +13634,863 @@
"content": "