Extend theme converter to allow multimatching against vscode colors (#3294)

Nate Butler created

[[PR Description]]

Adds the ability to specify a vec of VScode syntax scopes to match
against for a given syntax style.

Example:

```rust
pub fn to_vscode(&self) -> Vec<&'static str> {
        use ZedSyntaxToken::*;

        match self {
            SyntaxAttribute => vec!["entity.other.attribute-name"],
            SyntaxBoolean => vec!["constant.language"],
            SyntaxComment => vec!["comment"],
            SyntaxCommentDoc => vec!["comment.block.documentation"],
            SyntaxConstant => vec!["constant.character"],
            SyntaxConstructor => vec!["entity.name.function.definition.special.constructor"],
            SyntaxEmbedded => vec!["meta.embedded"],
            SyntaxEmphasis => vec!["markup.italic"],
            SyntaxEmphasisStrong => vec![
                "markup.bold",
                "markup.italic markup.bold",
                "markup.bold markup.italic",
            ],
            SyntaxEnum => vec!["support.type.enum"],
            SyntaxFunction => vec![
                "entity.name.function",
                "variable.function",
                "support.function",
            ],
            SyntaxKeyword => vec!["keyword"],
            SyntaxLabel => vec![
                "label",
                "entity.name",
                "entity.name.import",
                "entity.name.package",
            ],
            // .. more styles
}}
```

Useful `settings.json` for testing themes:

```json5
{
  // --- Dark Themes ---
  "theme": "Ayu Dark"
  // "theme": "Ayu Mirage"
  // "theme": "Dracula"
  // "theme": "Gruvbox Dark Hard"
  // "theme": "Gruvbox Dark Medium"
  // "theme": "Gruvbox Dark Soft"
  // "theme": "Night Owl"
  // "theme": "Noctis Obscuro"
  // "theme": "Noctis"
  // "theme": "Nord"
  // "theme": "Palenight (Mild Contrast)"
  // "theme": "Palenight Operator"
  // "theme": "Palenight"
  // "theme": "Rose Pine Moon"
  // "theme": "Rose Pine"
  // "theme": "Solarized Dark"
  // "theme": "Synthwave 84"
  // --- Light Themes ---
  // "theme": "Ayu Light"
  // "theme": "Gruvbox Light Hard"
  // "theme": "Gruvbox Light Medium"
  // "theme": "Gruvbox Light Soft"
  // "theme": "Noctis Lux"
  // "theme": "Rose Pine Dawn"
  // "theme": "Solarized Light"
}
```

Release Notes:

- N/A

Change summary

assets/themes/src/vscode/gruvbox/gruvbox-dark-hard.json    |   38 
assets/themes/src/vscode/gruvbox/gruvbox-dark-medium.json  |   38 
assets/themes/src/vscode/gruvbox/gruvbox-dark-soft.json    |   38 
assets/themes/src/vscode/gruvbox/gruvbox-light-hard.json   |   38 
assets/themes/src/vscode/gruvbox/gruvbox-light-medium.json |   38 
assets/themes/src/vscode/gruvbox/gruvbox-light-soft.json   |   38 
assets/themes/src/vscode/rose-pine/family.json             |   38 
assets/themes/src/vscode/synthwave-84/synthwave.json       | 1659 ++++---
crates/theme2/src/themes/andromeda.rs                      |   98 
crates/theme2/src/themes/ayu.rs                            |  456 ++
crates/theme2/src/themes/dracula.rs                        |   45 
crates/theme2/src/themes/gruvbox.rs                        |  426 ++
crates/theme2/src/themes/night_owl.rs                      |  128 
crates/theme2/src/themes/noctis.rs                         |  844 ++++
crates/theme2/src/themes/nord.rs                           |   60 
crates/theme2/src/themes/palenight.rs                      |  279 +
crates/theme2/src/themes/rose_pine.rs                      |  155 
crates/theme2/src/themes/solarized.rs                      |  126 
crates/theme2/src/themes/synthwave_84.rs                   |   70 
crates/theme_importer/src/vscode/converter.rs              |   24 
crates/theme_importer/src/vscode/syntax.rs                 |  132 
21 files changed, 3,816 insertions(+), 952 deletions(-)

Detailed changes

assets/themes/src/vscode/gruvbox/gruvbox-dark-hard.json πŸ”—

@@ -423,7 +423,10 @@
             }
         },
         {
-            "scope": ["string.interpolated.dollar.shell", "string.interpolated.backtick.shell"],
+            "scope": [
+                "string.interpolated.dollar.shell",
+                "string.interpolated.backtick.shell"
+            ],
             "settings": {
                 "foreground": "#8ec07c"
             }
@@ -489,13 +492,19 @@
 
         {
             "name": "coloring of the Java import and package identifiers",
-            "scope": ["storage.modifier.import.java", "storage.modifier.package.java"],
+            "scope": [
+                "storage.modifier.import.java",
+                "storage.modifier.package.java"
+            ],
             "settings": {
                 "foreground": "#bdae93"
             }
         },
         {
-            "scope": ["keyword.other.import.java", "keyword.other.package.java"],
+            "scope": [
+                "keyword.other.import.java",
+                "keyword.other.package.java"
+            ],
             "settings": {
                 "foreground": "#8ec07c"
             }
@@ -628,7 +637,9 @@
         },
         {
             "name": "JSON Level 0",
-            "scope": ["source.json meta.structure.dictionary.json support.type.property-name.json"],
+            "scope": [
+                "source.json meta.structure.dictionary.json support.type.property-name.json"
+            ],
             "settings": {
                 "foreground": "#b8bb26"
             }
@@ -761,7 +772,10 @@
             }
         },
         {
-            "scope": ["source.go keyword.interface", "source.go keyword.struct"],
+            "scope": [
+                "source.go keyword.interface",
+                "source.go keyword.struct"
+            ],
             "settings": {
                 "foreground": "#83a598"
             }
@@ -788,7 +802,10 @@
 
         {
             "name": "ReasonML String",
-            "scope": ["source.reason string.double", "source.reason string.regexp"],
+            "scope": [
+                "source.reason string.double",
+                "source.reason string.regexp"
+            ],
             "settings": {
                 "foreground": "#b8bb26"
             }
@@ -809,7 +826,10 @@
         },
         {
             "name": "ReasonML property",
-            "scope": ["source.reason support.property-value", "source.reason entity.name.filename"],
+            "scope": [
+                "source.reason support.property-value",
+                "source.reason entity.name.filename"
+            ],
             "settings": {
                 "foreground": "#fe8019"
             }
@@ -831,7 +851,9 @@
         },
         {
             "name": "Powershell function attribute",
-            "scope": ["source.powershell support.function.attribute.powershell"],
+            "scope": [
+                "source.powershell support.function.attribute.powershell"
+            ],
             "settings": {
                 "foreground": "#bdae93"
             }

assets/themes/src/vscode/gruvbox/gruvbox-dark-medium.json πŸ”—

@@ -423,7 +423,10 @@
             }
         },
         {
-            "scope": ["string.interpolated.dollar.shell", "string.interpolated.backtick.shell"],
+            "scope": [
+                "string.interpolated.dollar.shell",
+                "string.interpolated.backtick.shell"
+            ],
             "settings": {
                 "foreground": "#8ec07c"
             }
@@ -489,13 +492,19 @@
 
         {
             "name": "coloring of the Java import and package identifiers",
-            "scope": ["storage.modifier.import.java", "storage.modifier.package.java"],
+            "scope": [
+                "storage.modifier.import.java",
+                "storage.modifier.package.java"
+            ],
             "settings": {
                 "foreground": "#bdae93"
             }
         },
         {
-            "scope": ["keyword.other.import.java", "keyword.other.package.java"],
+            "scope": [
+                "keyword.other.import.java",
+                "keyword.other.package.java"
+            ],
             "settings": {
                 "foreground": "#8ec07c"
             }
@@ -628,7 +637,9 @@
         },
         {
             "name": "JSON Level 0",
-            "scope": ["source.json meta.structure.dictionary.json support.type.property-name.json"],
+            "scope": [
+                "source.json meta.structure.dictionary.json support.type.property-name.json"
+            ],
             "settings": {
                 "foreground": "#b8bb26"
             }
@@ -761,7 +772,10 @@
             }
         },
         {
-            "scope": ["source.go keyword.interface", "source.go keyword.struct"],
+            "scope": [
+                "source.go keyword.interface",
+                "source.go keyword.struct"
+            ],
             "settings": {
                 "foreground": "#83a598"
             }
@@ -788,7 +802,10 @@
 
         {
             "name": "ReasonML String",
-            "scope": ["source.reason string.double", "source.reason string.regexp"],
+            "scope": [
+                "source.reason string.double",
+                "source.reason string.regexp"
+            ],
             "settings": {
                 "foreground": "#b8bb26"
             }
@@ -809,7 +826,10 @@
         },
         {
             "name": "ReasonML property",
-            "scope": ["source.reason support.property-value", "source.reason entity.name.filename"],
+            "scope": [
+                "source.reason support.property-value",
+                "source.reason entity.name.filename"
+            ],
             "settings": {
                 "foreground": "#fe8019"
             }
@@ -831,7 +851,9 @@
         },
         {
             "name": "Powershell function attribute",
-            "scope": ["source.powershell support.function.attribute.powershell"],
+            "scope": [
+                "source.powershell support.function.attribute.powershell"
+            ],
             "settings": {
                 "foreground": "#bdae93"
             }

assets/themes/src/vscode/gruvbox/gruvbox-dark-soft.json πŸ”—

@@ -423,7 +423,10 @@
             }
         },
         {
-            "scope": ["string.interpolated.dollar.shell", "string.interpolated.backtick.shell"],
+            "scope": [
+                "string.interpolated.dollar.shell",
+                "string.interpolated.backtick.shell"
+            ],
             "settings": {
                 "foreground": "#8ec07c"
             }
@@ -489,13 +492,19 @@
 
         {
             "name": "coloring of the Java import and package identifiers",
-            "scope": ["storage.modifier.import.java", "storage.modifier.package.java"],
+            "scope": [
+                "storage.modifier.import.java",
+                "storage.modifier.package.java"
+            ],
             "settings": {
                 "foreground": "#bdae93"
             }
         },
         {
-            "scope": ["keyword.other.import.java", "keyword.other.package.java"],
+            "scope": [
+                "keyword.other.import.java",
+                "keyword.other.package.java"
+            ],
             "settings": {
                 "foreground": "#8ec07c"
             }
@@ -628,7 +637,9 @@
         },
         {
             "name": "JSON Level 0",
-            "scope": ["source.json meta.structure.dictionary.json support.type.property-name.json"],
+            "scope": [
+                "source.json meta.structure.dictionary.json support.type.property-name.json"
+            ],
             "settings": {
                 "foreground": "#b8bb26"
             }
@@ -761,7 +772,10 @@
             }
         },
         {
-            "scope": ["source.go keyword.interface", "source.go keyword.struct"],
+            "scope": [
+                "source.go keyword.interface",
+                "source.go keyword.struct"
+            ],
             "settings": {
                 "foreground": "#83a598"
             }
@@ -788,7 +802,10 @@
 
         {
             "name": "ReasonML String",
-            "scope": ["source.reason string.double", "source.reason string.regexp"],
+            "scope": [
+                "source.reason string.double",
+                "source.reason string.regexp"
+            ],
             "settings": {
                 "foreground": "#b8bb26"
             }
@@ -809,7 +826,10 @@
         },
         {
             "name": "ReasonML property",
-            "scope": ["source.reason support.property-value", "source.reason entity.name.filename"],
+            "scope": [
+                "source.reason support.property-value",
+                "source.reason entity.name.filename"
+            ],
             "settings": {
                 "foreground": "#fe8019"
             }
@@ -831,7 +851,9 @@
         },
         {
             "name": "Powershell function attribute",
-            "scope": ["source.powershell support.function.attribute.powershell"],
+            "scope": [
+                "source.powershell support.function.attribute.powershell"
+            ],
             "settings": {
                 "foreground": "#bdae93"
             }

assets/themes/src/vscode/gruvbox/gruvbox-light-hard.json πŸ”—

@@ -422,7 +422,10 @@
             }
         },
         {
-            "scope": ["string.interpolated.dollar.shell", "string.interpolated.backtick.shell"],
+            "scope": [
+                "string.interpolated.dollar.shell",
+                "string.interpolated.backtick.shell"
+            ],
             "settings": {
                 "foreground": "#427b58"
             }
@@ -488,13 +491,19 @@
 
         {
             "name": "coloring of the Java import and package identifiers",
-            "scope": ["storage.modifier.import.java", "storage.modifier.package.java"],
+            "scope": [
+                "storage.modifier.import.java",
+                "storage.modifier.package.java"
+            ],
             "settings": {
                 "foreground": "#665c54"
             }
         },
         {
-            "scope": ["keyword.other.import.java", "keyword.other.package.java"],
+            "scope": [
+                "keyword.other.import.java",
+                "keyword.other.package.java"
+            ],
             "settings": {
                 "foreground": "#427b58"
             }
@@ -627,7 +636,9 @@
         },
         {
             "name": "JSON Level 0",
-            "scope": ["source.json meta.structure.dictionary.json support.type.property-name.json"],
+            "scope": [
+                "source.json meta.structure.dictionary.json support.type.property-name.json"
+            ],
             "settings": {
                 "foreground": "#79740e"
             }
@@ -760,7 +771,10 @@
             }
         },
         {
-            "scope": ["source.go keyword.interface", "source.go keyword.struct"],
+            "scope": [
+                "source.go keyword.interface",
+                "source.go keyword.struct"
+            ],
             "settings": {
                 "foreground": "#076678"
             }
@@ -787,7 +801,10 @@
 
         {
             "name": "ReasonML String",
-            "scope": ["source.reason string.double", "source.reason string.regexp"],
+            "scope": [
+                "source.reason string.double",
+                "source.reason string.regexp"
+            ],
             "settings": {
                 "foreground": "#79740e"
             }
@@ -808,7 +825,10 @@
         },
         {
             "name": "ReasonML property",
-            "scope": ["source.reason support.property-value", "source.reason entity.name.filename"],
+            "scope": [
+                "source.reason support.property-value",
+                "source.reason entity.name.filename"
+            ],
             "settings": {
                 "foreground": "#af3a03"
             }
@@ -830,7 +850,9 @@
         },
         {
             "name": "Powershell function attribute",
-            "scope": ["source.powershell support.function.attribute.powershell"],
+            "scope": [
+                "source.powershell support.function.attribute.powershell"
+            ],
             "settings": {
                 "foreground": "#665c54"
             }

assets/themes/src/vscode/gruvbox/gruvbox-light-medium.json πŸ”—

@@ -422,7 +422,10 @@
             }
         },
         {
-            "scope": ["string.interpolated.dollar.shell", "string.interpolated.backtick.shell"],
+            "scope": [
+                "string.interpolated.dollar.shell",
+                "string.interpolated.backtick.shell"
+            ],
             "settings": {
                 "foreground": "#427b58"
             }
@@ -488,13 +491,19 @@
 
         {
             "name": "coloring of the Java import and package identifiers",
-            "scope": ["storage.modifier.import.java", "storage.modifier.package.java"],
+            "scope": [
+                "storage.modifier.import.java",
+                "storage.modifier.package.java"
+            ],
             "settings": {
                 "foreground": "#665c54"
             }
         },
         {
-            "scope": ["keyword.other.import.java", "keyword.other.package.java"],
+            "scope": [
+                "keyword.other.import.java",
+                "keyword.other.package.java"
+            ],
             "settings": {
                 "foreground": "#427b58"
             }
@@ -627,7 +636,9 @@
         },
         {
             "name": "JSON Level 0",
-            "scope": ["source.json meta.structure.dictionary.json support.type.property-name.json"],
+            "scope": [
+                "source.json meta.structure.dictionary.json support.type.property-name.json"
+            ],
             "settings": {
                 "foreground": "#79740e"
             }
@@ -760,7 +771,10 @@
             }
         },
         {
-            "scope": ["source.go keyword.interface", "source.go keyword.struct"],
+            "scope": [
+                "source.go keyword.interface",
+                "source.go keyword.struct"
+            ],
             "settings": {
                 "foreground": "#076678"
             }
@@ -787,7 +801,10 @@
 
         {
             "name": "ReasonML String",
-            "scope": ["source.reason string.double", "source.reason string.regexp"],
+            "scope": [
+                "source.reason string.double",
+                "source.reason string.regexp"
+            ],
             "settings": {
                 "foreground": "#79740e"
             }
@@ -808,7 +825,10 @@
         },
         {
             "name": "ReasonML property",
-            "scope": ["source.reason support.property-value", "source.reason entity.name.filename"],
+            "scope": [
+                "source.reason support.property-value",
+                "source.reason entity.name.filename"
+            ],
             "settings": {
                 "foreground": "#af3a03"
             }
@@ -830,7 +850,9 @@
         },
         {
             "name": "Powershell function attribute",
-            "scope": ["source.powershell support.function.attribute.powershell"],
+            "scope": [
+                "source.powershell support.function.attribute.powershell"
+            ],
             "settings": {
                 "foreground": "#665c54"
             }

assets/themes/src/vscode/gruvbox/gruvbox-light-soft.json πŸ”—

@@ -422,7 +422,10 @@
             }
         },
         {
-            "scope": ["string.interpolated.dollar.shell", "string.interpolated.backtick.shell"],
+            "scope": [
+                "string.interpolated.dollar.shell",
+                "string.interpolated.backtick.shell"
+            ],
             "settings": {
                 "foreground": "#427b58"
             }
@@ -488,13 +491,19 @@
 
         {
             "name": "coloring of the Java import and package identifiers",
-            "scope": ["storage.modifier.import.java", "storage.modifier.package.java"],
+            "scope": [
+                "storage.modifier.import.java",
+                "storage.modifier.package.java"
+            ],
             "settings": {
                 "foreground": "#665c54"
             }
         },
         {
-            "scope": ["keyword.other.import.java", "keyword.other.package.java"],
+            "scope": [
+                "keyword.other.import.java",
+                "keyword.other.package.java"
+            ],
             "settings": {
                 "foreground": "#427b58"
             }
@@ -627,7 +636,9 @@
         },
         {
             "name": "JSON Level 0",
-            "scope": ["source.json meta.structure.dictionary.json support.type.property-name.json"],
+            "scope": [
+                "source.json meta.structure.dictionary.json support.type.property-name.json"
+            ],
             "settings": {
                 "foreground": "#79740e"
             }
@@ -760,7 +771,10 @@
             }
         },
         {
-            "scope": ["source.go keyword.interface", "source.go keyword.struct"],
+            "scope": [
+                "source.go keyword.interface",
+                "source.go keyword.struct"
+            ],
             "settings": {
                 "foreground": "#076678"
             }
@@ -787,7 +801,10 @@
 
         {
             "name": "ReasonML String",
-            "scope": ["source.reason string.double", "source.reason string.regexp"],
+            "scope": [
+                "source.reason string.double",
+                "source.reason string.regexp"
+            ],
             "settings": {
                 "foreground": "#79740e"
             }
@@ -808,7 +825,10 @@
         },
         {
             "name": "ReasonML property",
-            "scope": ["source.reason support.property-value", "source.reason entity.name.filename"],
+            "scope": [
+                "source.reason support.property-value",
+                "source.reason entity.name.filename"
+            ],
             "settings": {
                 "foreground": "#af3a03"
             }
@@ -830,7 +850,9 @@
         },
         {
             "name": "Powershell function attribute",
-            "scope": ["source.powershell support.function.attribute.powershell"],
+            "scope": [
+                "source.powershell support.function.attribute.powershell"
+            ],
             "settings": {
                 "foreground": "#665c54"
             }

assets/themes/src/vscode/rose-pine/family.json πŸ”—

@@ -1,21 +1,21 @@
 {
-    "name": "Rose Pine",
-    "author": "RosΓ© Pine",
-    "themes": [
-        {
-            "name": "Rose Pine",
-            "file_name": "rose-pine.json",
-            "appearance": "dark"
-        },
-        {
-            "name": "Rose Moon",
-            "file_name": "rose-pine-moon.json",
-            "appearance": "dark"
-        },
-        {
-            "name": "Rose Pine Dawn",
-            "file_name": "rose-pine-dawn.json",
-            "appearance": "light"
-        }
-    ]
+  "name": "Rose Pine",
+  "author": "RosΓ© Pine",
+  "themes": [
+    {
+      "name": "Rose Pine",
+      "file_name": "rose-pine.json",
+      "appearance": "dark"
+    },
+    {
+      "name": "Rose Pine Moon",
+      "file_name": "rose-pine-moon.json",
+      "appearance": "dark"
+    },
+    {
+      "name": "Rose Pine Dawn",
+      "file_name": "rose-pine-dawn.json",
+      "appearance": "light"
+    }
+  ]
 }

assets/themes/src/vscode/synthwave-84/synthwave.json πŸ”—

@@ -1,822 +1,841 @@
 {
-    "name": "SynthWave 84",
-    "type": "dark",
-    "semanticHighlighting": true,
-    "colors": {
-        "focusBorder": "#1f212b",
-        "foreground": "#ffffff",
-        "widget.shadow": "#2a2139",
-        "selection.background": "#ffffff20",
-        "errorForeground": "#fe4450",
-        "textLink.activeForeground": "#ff7edb",
-        "textLink.foreground": "#f97e72",
-        "button.background": "#614D85",
-        "dropdown.background": "#232530",
-        "dropdown.listBackground": "#2a2139",
-        "input.background": "#2a2139",
-        "inputOption.activeBorder": "#ff7edb99",
-        "inputValidation.errorBackground": "#fe445080",
-        "inputValidation.errorBorder": "#fe445000",
-        "scrollbar.shadow": "#2a2139",
-        "scrollbarSlider.activeBackground": "#9d8bca20",
-        "scrollbarSlider.background": "#9d8bca30",
-        "scrollbarSlider.hoverBackground": "#9d8bca50",
-        "badge.foreground": "#ffffff",
-        "badge.background": "#2a2139",
-        "progressBar.background": "#f97e72",
-        "list.activeSelectionBackground": "#ffffff20",
-        "list.activeSelectionForeground": "#ffffff",
-        "list.dropBackground": "#34294f66",
-        "list.focusBackground": "#ffffff20",
-        "list.focusForeground": "#ffffff",
-        "list.highlightForeground": "#f97e72",
-        "list.hoverBackground": "#37294d99",
-        "list.hoverForeground": "#ffffff",
-        "list.inactiveSelectionBackground": "#ffffff20",
-        "list.inactiveSelectionForeground": "#ffffff",
-        "list.inactiveFocusBackground": "#2a213999",
-        "list.errorForeground": "#fe4450E6",
-        "list.warningForeground": "#72f1b8bb",
-        "activityBar.background": "#171520",
-        "activityBar.dropBackground": "#34294f66",
-        "activityBar.foreground": "#ffffffCC",
-        "activityBarBadge.background": "#f97e72",
-        "activityBarBadge.foreground": "#2a2139",
-        "sideBar.background": "#241b2f",
-        "sideBar.foreground": "#ffffff99",
-        "sideBar.dropBackground": "#34294f4c",
-        "sideBarSectionHeader.background": "#241b2f",
-        "sideBarSectionHeader.foreground": "#ffffffca",
-        "menu.background": "#463465",
-        "editorGroup.border": "#495495",
-        "editorGroup.dropBackground": "#4954954a",
-        "editorGroupHeader.tabsBackground": "#241b2f",
-        "tab.border": "#241b2f00",
-        "tab.activeBorder": "#880088",
-        "tab.inactiveBackground": "#262335",
-        "editor.background": "#262335",
-        "editorLineNumber.foreground": "#ffffff73",
-        "editorLineNumber.activeForeground": "#ffffffcc",
-        "editorCursor.background": "#241b2f",
-        "editorCursor.foreground": "#f97e72",
-        "editor.selectionBackground": "#ffffff20",
-        "editor.selectionHighlightBackground": "#ffffff20",
-        "editor.wordHighlightBackground": "#34294f88",
-        "editor.wordHighlightStrongBackground": "#34294f88",
-        "editor.findMatchBackground": "#D18616bb",
-        "editor.findMatchHighlightBackground": "#D1861655",
-        "editor.findRangeHighlightBackground": "#34294f1a",
-        "editor.hoverHighlightBackground": "#463564",
-        "editor.lineHighlightBorder": "#7059AB66",
-        "editor.rangeHighlightBackground": "#49549539",
-        "editorIndentGuide.background": "#444251",
-        "editorIndentGuide.activeBackground": "#A148AB80",
-        "editorRuler.foreground": "#A148AB80",
-        "editorCodeLens.foreground": "#ffffff7c",
-        "editorBracketMatch.background": "#34294f66",
-        "editorBracketMatch.border": "#495495",
-        "editorOverviewRuler.border": "#34294fb3",
-        "editorOverviewRuler.findMatchForeground": "#D1861699",
-        "editorOverviewRuler.modifiedForeground": "#b893ce99",
-        "editorOverviewRuler.addedForeground": "#09f7a099",
-        "editorOverviewRuler.deletedForeground": "#fe445099",
-        "editorOverviewRuler.errorForeground": "#fe4450dd",
-        "editorOverviewRuler.warningForeground": "#72f1b8cc",
-        "editorError.foreground": "#fe4450",
-        "editorWarning.foreground": "#72f1b8cc",
-        "editorGutter.modifiedBackground": "#b893ce8f",
-        "editorGutter.addedBackground": "#206d4bd6",
-        "editorGutter.deletedBackground": "#fa2e46a4",
-        "diffEditor.insertedTextBackground": "#0beb9935",
-        "diffEditor.removedTextBackground": "#fe445035",
-        "editorWidget.background": "#171520DC",
-        "editorWidget.border": "#ffffff22",
-        "editorWidget.resizeBorder": "#ffffff44",
-        "editorSuggestWidget.highlightForeground": "#f97e72",
-        "editorSuggestWidget.selectedBackground": "#ffffff36",
-        "peekView.border": "#495495",
-        "peekViewEditor.background": "#232530",
-        "peekViewEditor.matchHighlightBackground": "#D18616bb",
-        "peekViewResult.background": "#232530",
-        "peekViewResult.matchHighlightBackground": "#D1861655",
-        "peekViewResult.selectionBackground": "#2a213980",
-        "peekViewTitle.background": "#232530",
-        "panelTitle.activeBorder": "#f97e72",
-        "statusBar.background": "#241b2f",
-        "statusBar.foreground": "#ffffff80",
-        "statusBar.debuggingBackground": "#f97e72",
-        "statusBar.debuggingForeground": "#08080f",
-        "statusBar.noFolderBackground": "#241b2f",
-        "statusBarItem.prominentBackground": "#2a2139",
-        "statusBarItem.prominentHoverBackground": "#34294f",
-        "titleBar.activeBackground": "#241b2f",
-        "titleBar.inactiveBackground": "#241b2f",
-        "extensionButton.prominentBackground": "#f97e72",
-        "extensionButton.prominentHoverBackground": "#ff7edb",
-        "pickerGroup.foreground": "#f97e72ea",
-        "terminal.foreground": "#ffffff",
-        "terminal.ansiBlue": "#03edf9",
-        "terminal.ansiBrightBlue": "#03edf9",
-        "terminal.ansiBrightCyan": "#03edf9",
-        "terminal.ansiBrightGreen": "#72f1b8",
-        "terminal.ansiBrightMagenta": "#ff7edb",
-        "terminal.ansiBrightRed": "#fe4450",
-        "terminal.ansiBrightYellow": "#fede5d",
-        "terminal.ansiCyan": "#03edf9",
-        "terminal.ansiGreen": "#72f1b8",
-        "terminal.ansiMagenta": "#ff7edb",
-        "terminal.ansiRed": "#fe4450",
-        "terminal.ansiYellow": "#f3e70f",
-        "terminal.selectionBackground": "#ffffff20",
-        "terminalCursor.background": "#ffffff",
-        "terminalCursor.foreground": "#03edf9",
-        "debugToolBar.background": "#463465",
-        "walkThrough.embeddedEditorBackground": "#232530",
-        "gitDecoration.modifiedResourceForeground": "#b893ceee",
-        "gitDecoration.deletedResourceForeground": "#fe4450",
-        "gitDecoration.addedResourceForeground": "#72f1b8cc",
-        "gitDecoration.untrackedResourceForeground": "#72f1b8",
-        "gitDecoration.ignoredResourceForeground": "#ffffff59",
-        "minimapGutter.addedBackground": "#09f7a099",
-        "minimapGutter.modifiedBackground": "#b893ce",
-        "minimapGutter.deletedBackground": "#fe4450",
-        "breadcrumbPicker.background": "#232530"
-    },
-    "tokenColors": [
-        {
-            "name": "Comment",
-            "scope": [
-                "comment",
-                "string.quoted.docstring.multi.python",
-                "string.quoted.docstring.multi.python punctuation.definition.string.begin.python",
-                "string.quoted.docstring.multi.python punctuation.definition.string.end.python"
-            ],
-            "settings": {
-                "foreground": "#848bbd",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "String",
-            "scope": ["string.quoted", "string.template", "punctuation.definition.string"],
-            "settings": {
-                "foreground": "#ff8b39"
-            }
-        },
-        {
-            "name": "Punctuation within templates",
-            "scope": "string.template meta.embedded.line",
-            "settings": {
-                "foreground": "#b6b1b1"
-            }
-        },
-        {
-            "name": "Variable",
-            "scope": ["variable", "entity.name.variable"],
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "Language variable",
-            "scope": "variable.language",
-            "settings": {
-                "foreground": "#fe4450",
-                "fontStyle": "bold"
-            }
-        },
-        {
-            "name": "Parameter",
-            "scope": "variable.parameter",
-            "settings": {
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Storage (declaration or modifier keyword)",
-            "scope": ["storage.type", "storage.modifier"],
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Constant",
-            "scope": "constant",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Regex",
-            "scope": "string.regexp",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Number",
-            "scope": "constant.numeric",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Language constant (boolean, null)",
-            "scope": "constant.language",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Character escape",
-            "scope": "constant.character.escape",
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Entity",
-            "scope": "entity.name",
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "HTML or XML tag",
-            "scope": "entity.name.tag",
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "HTML or XML tag brackets",
-            "scope": ["punctuation.definition.tag"],
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Tag attribute",
-            "scope": "entity.other.attribute-name",
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Tag attribute HTML",
-            "scope": "entity.other.attribute-name.html",
-            "settings": {
-                "foreground": "#fede5d",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Class",
-            "scope": ["entity.name.type", "meta.attribute.class.html"],
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "Inherited class",
-            "scope": "entity.other.inherited-class",
-            "settings": {
-                "foreground": "#D50"
-            }
-        },
-        {
-            "name": "Function",
-            "scope": ["entity.name.function", "variable.function"],
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "JS Export",
-            "scope": ["keyword.control.export.js", "keyword.control.import.js"],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "JS Numerics",
-            "scope": ["constant.numeric.decimal.js"],
-            "settings": {
-                "foreground": "#2EE2FA"
-            }
-        },
-        {
-            "name": "Keyword",
-            "scope": "keyword",
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Control keyword",
-            "scope": "keyword.control",
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Operator",
-            "scope": "keyword.operator",
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Special operator",
-            "scope": [
-                "keyword.operator.new",
-                "keyword.operator.expression",
-                "keyword.operator.logical"
-            ],
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Unit",
-            "scope": "keyword.other.unit",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Support",
-            "scope": "support",
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "Support function",
-            "scope": "support.function",
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Support variable",
-            "scope": "support.variable",
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "Object literal key / property",
-            "scope": ["meta.object-literal.key", "support.type.property-name"],
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "Key-value separator",
-            "scope": "punctuation.separator.key-value",
-            "settings": {
-                "foreground": "#b6b1b1"
-            }
-        },
-        {
-            "name": "Embedded punctuation",
-            "scope": "punctuation.section.embedded",
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Template expression",
-            "scope": [
-                "punctuation.definition.template-expression.begin",
-                "punctuation.definition.template-expression.end"
-            ],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "CSS property",
-            "scope": ["support.type.property-name.css", "support.type.property-name.json"],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "JS Switch control",
-            "scope": "switch-block.expr.js",
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "JS object path",
-            "scope": "variable.other.constant.property.js, variable.other.property.js",
-            "settings": {
-                "foreground": "#2ee2fa"
-            }
-        },
-        {
-            "name": "Color",
-            "scope": "constant.other.color",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Font names",
-            "scope": "support.constant.font-name",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "CSS #id",
-            "scope": "entity.other.attribute-name.id",
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Pseudo CSS",
-            "scope": [
-                "entity.other.attribute-name.pseudo-element",
-                "entity.other.attribute-name.pseudo-class"
-            ],
-            "settings": {
-                "foreground": "#D50"
-            }
-        },
-        {
-            "name": "CSS support functions (rgb)",
-            "scope": "support.function.misc.css",
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "Markup heading",
-            "scope": ["markup.heading", "entity.name.section"],
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "Markup text",
-            "scope": ["text.html", "keyword.operator.assignment"],
-            "settings": {
-                "foreground": "#ffffffee"
-            }
-        },
-        {
-            "name": "Markup quote",
-            "scope": "markup.quote",
-            "settings": {
-                "foreground": "#b6b1b1cc",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Markup list",
-            "scope": "beginning.punctuation.definition.list",
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "Markup link",
-            "scope": "markup.underline.link",
-            "settings": {
-                "foreground": "#D50"
-            }
-        },
-        {
-            "name": "Markup link description",
-            "scope": "string.other.link.description",
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Python function call",
-            "scope": "meta.function-call.generic.python",
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Python variable params",
-            "scope": "variable.parameter.function-call.python",
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "C# storage type",
-            "scope": "storage.type.cs",
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "C# local variable",
-            "scope": "entity.name.variable.local.cs",
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "C# properties and fields",
-            "scope": ["entity.name.variable.field.cs", "entity.name.variable.property.cs"],
-            "settings": {
-                "foreground": "#ff7edb"
-            }
-        },
-        {
-            "name": "C placeholder",
-            "scope": "constant.other.placeholder.c",
-            "settings": {
-                "foreground": "#72f1b8",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "C preprocessors",
-            "scope": ["keyword.control.directive.include.c", "keyword.control.directive.define.c"],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "C storage modifier",
-            "scope": "storage.modifier.c",
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "C++ operators",
-            "scope": "source.cpp keyword.operator",
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "C++ placeholder",
-            "scope": "constant.other.placeholder.cpp",
-            "settings": {
-                "foreground": "#72f1b8",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "C++ include",
-            "scope": [
-                "keyword.control.directive.include.cpp",
-                "keyword.control.directive.define.cpp"
-            ],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "C++ constant modifier",
-            "scope": "storage.modifier.specifier.const.cpp",
-            "settings": {
-                "foreground": "#fe4450"
-            }
-        },
-        {
-            "name": "Elixir Classes",
-            "scope": [
-                "source.elixir support.type.elixir",
-                "source.elixir meta.module.elixir entity.name.class.elixir"
-            ],
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Elixir Functions",
-            "scope": "source.elixir entity.name.function",
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "Elixir Constants",
-            "scope": [
-                "source.elixir constant.other.symbol.elixir",
-                "source.elixir constant.other.keywords.elixir"
-            ],
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Elixir String Punctuation",
-            "scope": "source.elixir punctuation.definition.string",
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "Elixir",
-            "scope": [
-                "source.elixir variable.other.readwrite.module.elixir",
-                "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir"
-            ],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "Elixir Binary Punctuation",
-            "scope": "source.elixir .punctuation.binary.elixir",
-            "settings": {
-                "foreground": "#ff7edb",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Clojure Globals",
-            "scope": ["entity.global.clojure"],
-            "settings": {
-                "foreground": "#36f9f6",
-                "fontStyle": "bold"
-            }
-        },
-        {
-            "name": "Clojure Storage",
-            "scope": ["storage.control.clojure"],
-            "settings": {
-                "foreground": "#36f9f6",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Clojure Metadata",
-            "scope": ["meta.metadata.simple.clojure", "meta.metadata.map.clojure"],
-            "settings": {
-                "foreground": "#fe4450",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Clojure Macros, Quoted",
-            "scope": ["meta.quoted-expression.clojure"],
-            "settings": {
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Clojure Symbols",
-            "scope": ["meta.symbol.clojure"],
-            "settings": {
-                "foreground": "#ff7edbff"
-            }
-        },
-        {
-            "name": "Go basic",
-            "scope": "source.go",
-            "settings": {
-                "foreground": "#ff7edbff"
-            }
-        },
-        {
-            "name": "Go Function Calls",
-            "scope": "source.go meta.function-call.go",
-            "settings": {
-                "foreground": "#36f9f6"
-            }
-        },
-        {
-            "name": "Go Keywords",
-            "scope": [
-                "source.go keyword.package.go",
-                "source.go keyword.import.go",
-                "source.go keyword.function.go",
-                "source.go keyword.type.go",
-                "source.go keyword.const.go",
-                "source.go keyword.var.go",
-                "source.go keyword.map.go",
-                "source.go keyword.channel.go",
-                "source.go keyword.control.go"
-            ],
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Go interfaces",
-            "scope": [
-                "source.go storage.type",
-                "source.go keyword.struct.go",
-                "source.go keyword.interface.go"
-            ],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "Go Constants e.g. nil, string format (%s, %d, etc.)",
-            "scope": [
-                "source.go constant.language.go",
-                "source.go constant.other.placeholder.go",
-                "source.go variable"
-            ],
-            "settings": {
-                "foreground": "#2EE2FA"
-            }
-        },
-        {
-            "name": "Markdown links and image paths",
-            "scope": ["markup.underline.link.markdown", "markup.inline.raw.string.markdown"],
-            "settings": {
-                "foreground": "#72f1b8",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Markdown links and image paths",
-            "scope": ["string.other.link.title.markdown"],
-            "settings": {
-                "foreground": "#fede5d"
-            }
-        },
-        {
-            "name": "Markdown headings",
-            "scope": ["markup.heading.markdown", "entity.name.section.markdown"],
-            "settings": {
-                "foreground": "#ff7edb",
-                "fontStyle": "bold"
-            }
-        },
-        {
-            "name": "Markdown italic",
-            "scope": ["markup.italic.markdown"],
-            "settings": {
-                "foreground": "#2EE2FA",
-                "fontStyle": "italic"
-            }
-        },
-        {
-            "name": "Markdown bold",
-            "scope": ["markup.bold.markdown"],
-            "settings": {
-                "foreground": "#2EE2FA",
-                "fontStyle": "bold"
-            }
-        },
-        {
-            "name": "Markdown quotes",
-            "scope": ["punctuation.definition.quote.begin.markdown", "markup.quote.markdown"],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "Basic source colours",
-            "scope": ["source.dart", "source.python", "source.scala"],
-            "settings": {
-                "foreground": "#ff7edbff"
-            }
-        },
-        {
-            "name": "Dart strings",
-            "scope": ["string.interpolated.single.dart"],
-            "settings": {
-                "foreground": "#f97e72"
-            }
-        },
-        {
-            "name": "Dart variable params",
-            "scope": ["variable.parameter.dart"],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        },
-        {
-            "name": "Dart numerics",
-            "scope": ["constant.numeric.dart"],
-            "settings": {
-                "foreground": "#2EE2FA"
-            }
-        },
-        {
-            "name": "Scala variable params",
-            "scope": ["variable.parameter.scala"],
-            "settings": {
-                "foreground": "#2EE2FA"
-            }
-        },
-        {
-            "name": "Scala",
-            "scope": ["meta.template.expression.scala"],
-            "settings": {
-                "foreground": "#72f1b8"
-            }
-        }
-    ]
+  "name": "SynthWave 84",
+  "type": "dark",
+  "semanticHighlighting": true,
+  "colors": {
+    "focusBorder": "#1f212b",
+    "foreground": "#ffffff",
+    "widget.shadow": "#2a2139",
+    "selection.background": "#ffffff20",
+    "errorForeground": "#fe4450",
+    "textLink.activeForeground": "#ff7edb",
+    "textLink.foreground": "#f97e72",
+    "button.background": "#614D85",
+    "dropdown.background": "#232530",
+    "dropdown.listBackground": "#2a2139",
+    "input.background": "#2a2139",
+    "inputOption.activeBorder": "#ff7edb99",
+    "inputValidation.errorBackground": "#fe445080",
+    "inputValidation.errorBorder": "#fe445000",
+    "scrollbar.shadow": "#2a2139",
+    "scrollbarSlider.activeBackground": "#9d8bca20",
+    "scrollbarSlider.background": "#9d8bca30",
+    "scrollbarSlider.hoverBackground": "#9d8bca50",
+    "badge.foreground": "#ffffff",
+    "badge.background": "#2a2139",
+    "progressBar.background": "#f97e72",
+    "list.activeSelectionBackground": "#ffffff20",
+    "list.activeSelectionForeground": "#ffffff",
+    "list.dropBackground": "#34294f66",
+    "list.focusBackground": "#ffffff20",
+    "list.focusForeground": "#ffffff",
+    "list.highlightForeground": "#f97e72",
+    "list.hoverBackground": "#37294d99",
+    "list.hoverForeground": "#ffffff",
+    "list.inactiveSelectionBackground": "#ffffff20",
+    "list.inactiveSelectionForeground": "#ffffff",
+    "list.inactiveFocusBackground": "#2a213999",
+    "list.errorForeground": "#fe4450E6",
+    "list.warningForeground": "#72f1b8bb",
+    "activityBar.background": "#171520",
+    "activityBar.dropBackground": "#34294f66",
+    "activityBar.foreground": "#ffffffCC",
+    "activityBarBadge.background": "#f97e72",
+    "activityBarBadge.foreground": "#2a2139",
+    "sideBar.background": "#241b2f",
+    "sideBar.foreground": "#ffffff99",
+    "sideBar.dropBackground": "#34294f4c",
+    "sideBarSectionHeader.background": "#241b2f",
+    "sideBarSectionHeader.foreground": "#ffffffca",
+    "menu.background": "#463465",
+    "editorGroup.border": "#495495",
+    "editorGroup.dropBackground": "#4954954a",
+    "editorGroupHeader.tabsBackground": "#241b2f",
+    "tab.border": "#241b2f00",
+    "tab.activeBorder": "#880088",
+    "tab.inactiveBackground": "#262335",
+    "editor.background": "#262335",
+    "editorLineNumber.foreground": "#ffffff73",
+    "editorLineNumber.activeForeground": "#ffffffcc",
+    "editorCursor.background": "#241b2f",
+    "editorCursor.foreground": "#f97e72",
+    "editor.selectionBackground": "#ffffff20",
+    "editor.selectionHighlightBackground": "#ffffff20",
+    "editor.wordHighlightBackground": "#34294f88",
+    "editor.wordHighlightStrongBackground": "#34294f88",
+    "editor.findMatchBackground": "#D18616bb",
+    "editor.findMatchHighlightBackground": "#D1861655",
+    "editor.findRangeHighlightBackground": "#34294f1a",
+    "editor.hoverHighlightBackground": "#463564",
+    "editor.lineHighlightBorder": "#7059AB66",
+    "editor.rangeHighlightBackground": "#49549539",
+    "editorIndentGuide.background": "#444251",
+    "editorIndentGuide.activeBackground": "#A148AB80",
+    "editorRuler.foreground": "#A148AB80",
+    "editorCodeLens.foreground": "#ffffff7c",
+    "editorBracketMatch.background": "#34294f66",
+    "editorBracketMatch.border": "#495495",
+    "editorOverviewRuler.border": "#34294fb3",
+    "editorOverviewRuler.findMatchForeground": "#D1861699",
+    "editorOverviewRuler.modifiedForeground": "#b893ce99",
+    "editorOverviewRuler.addedForeground": "#09f7a099",
+    "editorOverviewRuler.deletedForeground": "#fe445099",
+    "editorOverviewRuler.errorForeground": "#fe4450dd",
+    "editorOverviewRuler.warningForeground": "#72f1b8cc",
+    "editorError.foreground": "#fe4450",
+    "editorWarning.foreground": "#72f1b8cc",
+    "editorGutter.modifiedBackground": "#b893ce8f",
+    "editorGutter.addedBackground": "#206d4bd6",
+    "editorGutter.deletedBackground": "#fa2e46a4",
+    "diffEditor.insertedTextBackground": "#0beb9935",
+    "diffEditor.removedTextBackground": "#fe445035",
+    "editorWidget.background": "#171520DC",
+    "editorWidget.border": "#ffffff22",
+    "editorWidget.resizeBorder": "#ffffff44",
+    "editorSuggestWidget.highlightForeground": "#f97e72",
+    "editorSuggestWidget.selectedBackground": "#ffffff36",
+    "peekView.border": "#495495",
+    "peekViewEditor.background": "#232530",
+    "peekViewEditor.matchHighlightBackground": "#D18616bb",
+    "peekViewResult.background": "#232530",
+    "peekViewResult.matchHighlightBackground": "#D1861655",
+    "peekViewResult.selectionBackground": "#2a213980",
+    "peekViewTitle.background": "#232530",
+    "panelTitle.activeBorder": "#f97e72",
+    "statusBar.background": "#241b2f",
+    "statusBar.foreground": "#ffffff80",
+    "statusBar.debuggingBackground": "#f97e72",
+    "statusBar.debuggingForeground": "#08080f",
+    "statusBar.noFolderBackground": "#241b2f",
+    "statusBarItem.prominentBackground": "#2a2139",
+    "statusBarItem.prominentHoverBackground": "#34294f",
+    "titleBar.activeBackground": "#241b2f",
+    "titleBar.inactiveBackground": "#241b2f",
+    "extensionButton.prominentBackground": "#f97e72",
+    "extensionButton.prominentHoverBackground": "#ff7edb",
+    "pickerGroup.foreground": "#f97e72ea",
+    "terminal.foreground": "#ffffff",
+    "terminal.ansiBlue": "#03edf9",
+    "terminal.ansiBrightBlue": "#03edf9",
+    "terminal.ansiBrightCyan": "#03edf9",
+    "terminal.ansiBrightGreen": "#72f1b8",
+    "terminal.ansiBrightMagenta": "#ff7edb",
+    "terminal.ansiBrightRed": "#fe4450",
+    "terminal.ansiBrightYellow": "#fede5d",
+    "terminal.ansiCyan": "#03edf9",
+    "terminal.ansiGreen": "#72f1b8",
+    "terminal.ansiMagenta": "#ff7edb",
+    "terminal.ansiRed": "#fe4450",
+    "terminal.ansiYellow": "#f3e70f",
+    "terminal.selectionBackground": "#ffffff20",
+    "terminalCursor.background": "#ffffff",
+    "terminalCursor.foreground": "#03edf9",
+    "debugToolBar.background": "#463465",
+    "walkThrough.embeddedEditorBackground": "#232530",
+    "gitDecoration.modifiedResourceForeground": "#b893ceee",
+    "gitDecoration.deletedResourceForeground": "#fe4450",
+    "gitDecoration.addedResourceForeground": "#72f1b8cc",
+    "gitDecoration.untrackedResourceForeground": "#72f1b8",
+    "gitDecoration.ignoredResourceForeground": "#ffffff59",
+    "minimapGutter.addedBackground": "#09f7a099",
+    "minimapGutter.modifiedBackground": "#b893ce",
+    "minimapGutter.deletedBackground": "#fe4450",
+    "breadcrumbPicker.background": "#232530"
+  },
+  "tokenColors": [
+    {
+      "name": "Comment",
+      "scope": [
+        "comment",
+        "string.quoted.docstring.multi.python",
+        "string.quoted.docstring.multi.python punctuation.definition.string.begin.python",
+        "string.quoted.docstring.multi.python punctuation.definition.string.end.python"
+      ],
+      "settings": {
+        "foreground": "#848bbd",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "String",
+      "scope": [
+        "string.quoted",
+        "string.template",
+        "punctuation.definition.string"
+      ],
+      "settings": {
+        "foreground": "#ff8b39"
+      }
+    },
+    {
+      "name": "Punctuation within templates",
+      "scope": "string.template meta.embedded.line",
+      "settings": {
+        "foreground": "#b6b1b1"
+      }
+    },
+    {
+      "name": "Variable",
+      "scope": ["variable", "entity.name.variable"],
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "Language variable",
+      "scope": "variable.language",
+      "settings": {
+        "foreground": "#fe4450",
+        "fontStyle": "bold"
+      }
+    },
+    {
+      "name": "Parameter",
+      "scope": "variable.parameter",
+      "settings": {
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Storage (declaration or modifier keyword)",
+      "scope": ["storage.type", "storage.modifier"],
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Constant",
+      "scope": "constant",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Regex",
+      "scope": "string.regexp",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Number",
+      "scope": "constant.numeric",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Language constant (boolean, null)",
+      "scope": "constant.language",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Character escape",
+      "scope": "constant.character.escape",
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Entity",
+      "scope": "entity.name",
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "HTML or XML tag",
+      "scope": "entity.name.tag",
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "HTML or XML tag brackets",
+      "scope": ["punctuation.definition.tag"],
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Tag attribute",
+      "scope": "entity.other.attribute-name",
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Tag attribute HTML",
+      "scope": "entity.other.attribute-name.html",
+      "settings": {
+        "foreground": "#fede5d",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Class",
+      "scope": ["entity.name.type", "meta.attribute.class.html"],
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "Inherited class",
+      "scope": "entity.other.inherited-class",
+      "settings": {
+        "foreground": "#D50D50"
+      }
+    },
+    {
+      "name": "Function",
+      "scope": ["entity.name.function", "variable.function"],
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "JS Export",
+      "scope": ["keyword.control.export.js", "keyword.control.import.js"],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "JS Numerics",
+      "scope": ["constant.numeric.decimal.js"],
+      "settings": {
+        "foreground": "#2EE2FA"
+      }
+    },
+    {
+      "name": "Keyword",
+      "scope": "keyword",
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Control keyword",
+      "scope": "keyword.control",
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Operator",
+      "scope": "keyword.operator",
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Special operator",
+      "scope": [
+        "keyword.operator.new",
+        "keyword.operator.expression",
+        "keyword.operator.logical"
+      ],
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Unit",
+      "scope": "keyword.other.unit",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Support",
+      "scope": "support",
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "Support function",
+      "scope": "support.function",
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Support variable",
+      "scope": "support.variable",
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "Object literal key / property",
+      "scope": ["meta.object-literal.key", "support.type.property-name"],
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "Key-value separator",
+      "scope": "punctuation.separator.key-value",
+      "settings": {
+        "foreground": "#b6b1b1"
+      }
+    },
+    {
+      "name": "Embedded punctuation",
+      "scope": "punctuation.section.embedded",
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Template expression",
+      "scope": [
+        "punctuation.definition.template-expression.begin",
+        "punctuation.definition.template-expression.end"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "CSS property",
+      "scope": [
+        "support.type.property-name.css",
+        "support.type.property-name.json"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "JS Switch control",
+      "scope": "switch-block.expr.js",
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "JS object path",
+      "scope": "variable.other.constant.property.js, variable.other.property.js",
+      "settings": {
+        "foreground": "#2ee2fa"
+      }
+    },
+    {
+      "name": "Color",
+      "scope": "constant.other.color",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Font names",
+      "scope": "support.constant.font-name",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "CSS #id",
+      "scope": "entity.other.attribute-name.id",
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Pseudo CSS",
+      "scope": [
+        "entity.other.attribute-name.pseudo-element",
+        "entity.other.attribute-name.pseudo-class"
+      ],
+      "settings": {
+        "foreground": "#D50D50"
+      }
+    },
+    {
+      "name": "CSS support functions (rgb)",
+      "scope": "support.function.misc.css",
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "Markup heading",
+      "scope": ["markup.heading", "entity.name.section"],
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "Markup text",
+      "scope": ["text.html", "keyword.operator.assignment"],
+      "settings": {
+        "foreground": "#ffffffee"
+      }
+    },
+    {
+      "name": "Markup quote",
+      "scope": "markup.quote",
+      "settings": {
+        "foreground": "#b6b1b1cc",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Markup list",
+      "scope": "beginning.punctuation.definition.list",
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "Markup link",
+      "scope": "markup.underline.link",
+      "settings": {
+        "foreground": "#D50D50"
+      }
+    },
+    {
+      "name": "Markup link description",
+      "scope": "string.other.link.description",
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Python function call",
+      "scope": "meta.function-call.generic.python",
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Python variable params",
+      "scope": "variable.parameter.function-call.python",
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "C# storage type",
+      "scope": "storage.type.cs",
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "C# local variable",
+      "scope": "entity.name.variable.local.cs",
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "C# properties and fields",
+      "scope": [
+        "entity.name.variable.field.cs",
+        "entity.name.variable.property.cs"
+      ],
+      "settings": {
+        "foreground": "#ff7edb"
+      }
+    },
+    {
+      "name": "C placeholder",
+      "scope": "constant.other.placeholder.c",
+      "settings": {
+        "foreground": "#72f1b8",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "C preprocessors",
+      "scope": [
+        "keyword.control.directive.include.c",
+        "keyword.control.directive.define.c"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "C storage modifier",
+      "scope": "storage.modifier.c",
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "C++ operators",
+      "scope": "source.cpp keyword.operator",
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "C++ placeholder",
+      "scope": "constant.other.placeholder.cpp",
+      "settings": {
+        "foreground": "#72f1b8",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "C++ include",
+      "scope": [
+        "keyword.control.directive.include.cpp",
+        "keyword.control.directive.define.cpp"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "C++ constant modifier",
+      "scope": "storage.modifier.specifier.const.cpp",
+      "settings": {
+        "foreground": "#fe4450"
+      }
+    },
+    {
+      "name": "Elixir Classes",
+      "scope": [
+        "source.elixir support.type.elixir",
+        "source.elixir meta.module.elixir entity.name.class.elixir"
+      ],
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Elixir Functions",
+      "scope": "source.elixir entity.name.function",
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "Elixir Constants",
+      "scope": [
+        "source.elixir constant.other.symbol.elixir",
+        "source.elixir constant.other.keywords.elixir"
+      ],
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Elixir String Punctuation",
+      "scope": "source.elixir punctuation.definition.string",
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "Elixir",
+      "scope": [
+        "source.elixir variable.other.readwrite.module.elixir",
+        "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "Elixir Binary Punctuation",
+      "scope": "source.elixir .punctuation.binary.elixir",
+      "settings": {
+        "foreground": "#ff7edb",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Clojure Globals",
+      "scope": ["entity.global.clojure"],
+      "settings": {
+        "foreground": "#36f9f6",
+        "fontStyle": "bold"
+      }
+    },
+    {
+      "name": "Clojure Storage",
+      "scope": ["storage.control.clojure"],
+      "settings": {
+        "foreground": "#36f9f6",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Clojure Metadata",
+      "scope": ["meta.metadata.simple.clojure", "meta.metadata.map.clojure"],
+      "settings": {
+        "foreground": "#fe4450",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Clojure Macros, Quoted",
+      "scope": ["meta.quoted-expression.clojure"],
+      "settings": {
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Clojure Symbols",
+      "scope": ["meta.symbol.clojure"],
+      "settings": {
+        "foreground": "#ff7edbff"
+      }
+    },
+    {
+      "name": "Go basic",
+      "scope": "source.go",
+      "settings": {
+        "foreground": "#ff7edbff"
+      }
+    },
+    {
+      "name": "Go Function Calls",
+      "scope": "source.go meta.function-call.go",
+      "settings": {
+        "foreground": "#36f9f6"
+      }
+    },
+    {
+      "name": "Go Keywords",
+      "scope": [
+        "source.go keyword.package.go",
+        "source.go keyword.import.go",
+        "source.go keyword.function.go",
+        "source.go keyword.type.go",
+        "source.go keyword.const.go",
+        "source.go keyword.var.go",
+        "source.go keyword.map.go",
+        "source.go keyword.channel.go",
+        "source.go keyword.control.go"
+      ],
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Go interfaces",
+      "scope": [
+        "source.go storage.type",
+        "source.go keyword.struct.go",
+        "source.go keyword.interface.go"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "Go Constants e.g. nil, string format (%s, %d, etc.)",
+      "scope": [
+        "source.go constant.language.go",
+        "source.go constant.other.placeholder.go",
+        "source.go variable"
+      ],
+      "settings": {
+        "foreground": "#2EE2FA"
+      }
+    },
+    {
+      "name": "Markdown links and image paths",
+      "scope": [
+        "markup.underline.link.markdown",
+        "markup.inline.raw.string.markdown"
+      ],
+      "settings": {
+        "foreground": "#72f1b8",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Markdown links and image paths",
+      "scope": ["string.other.link.title.markdown"],
+      "settings": {
+        "foreground": "#fede5d"
+      }
+    },
+    {
+      "name": "Markdown headings",
+      "scope": ["markup.heading.markdown", "entity.name.section.markdown"],
+      "settings": {
+        "foreground": "#ff7edb",
+        "fontStyle": "bold"
+      }
+    },
+    {
+      "name": "Markdown italic",
+      "scope": ["markup.italic.markdown"],
+      "settings": {
+        "foreground": "#2EE2FA",
+        "fontStyle": "italic"
+      }
+    },
+    {
+      "name": "Markdown bold",
+      "scope": ["markup.bold.markdown"],
+      "settings": {
+        "foreground": "#2EE2FA",
+        "fontStyle": "bold"
+      }
+    },
+    {
+      "name": "Markdown quotes",
+      "scope": [
+        "punctuation.definition.quote.begin.markdown",
+        "markup.quote.markdown"
+      ],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "Basic source colours",
+      "scope": ["source.dart", "source.python", "source.scala"],
+      "settings": {
+        "foreground": "#ff7edbff"
+      }
+    },
+    {
+      "name": "Dart strings",
+      "scope": ["string.interpolated.single.dart"],
+      "settings": {
+        "foreground": "#f97e72"
+      }
+    },
+    {
+      "name": "Dart variable params",
+      "scope": ["variable.parameter.dart"],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    },
+    {
+      "name": "Dart numerics",
+      "scope": ["constant.numeric.dart"],
+      "settings": {
+        "foreground": "#2EE2FA"
+      }
+    },
+    {
+      "name": "Scala variable params",
+      "scope": ["variable.parameter.scala"],
+      "settings": {
+        "foreground": "#2EE2FA"
+      }
+    },
+    {
+      "name": "Scala",
+      "scope": ["meta.template.expression.scala"],
+      "settings": {
+        "foreground": "#72f1b8"
+      }
+    }
+  ]
 }

crates/theme2/src/themes/andromeda.rs πŸ”—

@@ -76,6 +76,20 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc64dedff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf39c11ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -90,6 +104,20 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf39c11ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xee5d42ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -97,6 +125,20 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf92571ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x95e072ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -104,6 +146,13 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00e8c6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -170,6 +219,20 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc64dedff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf39c11ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -184,6 +247,20 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf39c11ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xee5d42ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -191,6 +268,20 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf92571ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x95e072ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -198,6 +289,13 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00e8c6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },

crates/theme2/src/themes/ayu.rs πŸ”—

@@ -95,6 +95,29 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "embedded".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5c6166ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7070ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7070ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -109,6 +132,76 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x86b300ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x55b4d3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x55b4d3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xa37accff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xed9365ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7070ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5c6166b3).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.bracket".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x55b4d380).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5c6166b3).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.list_marker".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf2ad48ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -117,10 +210,65 @@ pub fn ayu() -> UserThemeFamily {
                                 },
                             ),
                             (
-                                "variable".into(),
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x4bbf98ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "string.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x86b300ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "string.special.symbol".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x86b300ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x55b4d3ff).into()),
-                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x86b300ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x389ee6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x55b4d3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5c6166ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7070ff).into()),
                                     ..Default::default()
                                 },
                             ),
@@ -209,6 +357,29 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "embedded".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcccac2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf18678ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf18678ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -223,6 +394,76 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd4fe7fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5ccfe6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5ccfe6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xdfbfffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf29e74ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf18678ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcccac2b3).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.bracket".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5ccfe680).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcccac2b3).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.list_marker".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffd173ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -231,10 +472,65 @@ pub fn ayu() -> UserThemeFamily {
                                 },
                             ),
                             (
-                                "variable".into(),
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x95e6cbff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "string.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd4fe7fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "string.special.symbol".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd4fe7fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x5ccfe6ff).into()),
-                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd4fe7fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x73cfffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5ccfe6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcccac2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf18678ff).into()),
                                     ..Default::default()
                                 },
                             ),
@@ -323,6 +619,29 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "embedded".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xbfbdb6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7077ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7077ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -337,6 +656,76 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xa9d94bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x38b9e6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x38b9e6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd2a6ffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf29668ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7077ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xbfbdb6b3).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.bracket".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x38b9e680).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xbfbdb6b3).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.list_marker".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffb353ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -345,10 +734,65 @@ pub fn ayu() -> UserThemeFamily {
                                 },
                             ),
                             (
-                                "variable".into(),
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x95e6cbff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "string.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xa9d94bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "string.special.symbol".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xa9d94bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x38b9e6ff).into()),
-                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xa9d94bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x59c2ffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x38b9e6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xbfbdb6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xef7077ff).into()),
                                     ..Default::default()
                                 },
                             ),

crates/theme2/src/themes/dracula.rs πŸ”—

@@ -85,10 +85,19 @@ pub fn dracula() -> UserThemeFamily {
                         (
                             "emphasis".into(),
                             UserHighlightStyle {
+                                color: Some(rgba(0xf1fa8cff).into()),
                                 font_style: Some(UserFontStyle::Italic),
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "emphasis.strong".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xffb76bff).into()),
+                                font_weight: Some(UserFontWeight(700.0)),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "function".into(),
                             UserHighlightStyle {
@@ -103,6 +112,20 @@ pub fn dracula() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "link_text".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x8be9fdff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "link_uri".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x8be9fdff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "string".into(),
                             UserHighlightStyle {
@@ -110,6 +133,20 @@ pub fn dracula() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "tag".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xff79c6ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "text.literal".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xf1fa8cff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "type".into(),
                             UserHighlightStyle {
@@ -126,6 +163,14 @@ pub fn dracula() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "variable.special".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xbd93f9ff).into()),
+                                font_style: Some(UserFontStyle::Italic),
+                                ..Default::default()
+                            },
+                        ),
                     ],
                 }),
             },

crates/theme2/src/themes/gruvbox.rs πŸ”—

@@ -87,6 +87,14 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfe7f18ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -101,6 +109,41 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfabd2eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3869bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3869bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x679d6aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -122,6 +165,27 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb8bb25ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfabd2eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -129,6 +193,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x83a598ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -206,6 +277,14 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfe7f18ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -220,6 +299,41 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfabd2eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3869bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3869bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x679d6aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -241,6 +355,27 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb8bb25ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfabd2eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -248,6 +383,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x83a598ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -325,6 +467,14 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfe7f18ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -339,6 +489,41 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfabd2eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3869bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3869bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x679d6aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -360,6 +545,27 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb8bb25ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfabd2eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -367,6 +573,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x83a598ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -444,6 +657,14 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xaf3a02ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -458,6 +679,41 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb57613ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8f3e71ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8f3e71ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x679d6aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -479,6 +735,27 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x79740eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb57613ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -486,6 +763,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x066578ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -563,6 +847,14 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xaf3a02ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -577,6 +869,41 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb57613ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8f3e71ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8f3e71ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x679d6aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -598,6 +925,27 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x79740eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb57613ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -605,6 +953,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x066578ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -682,6 +1037,14 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xaf3a02ff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -696,6 +1059,41 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb57613ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8f3e71ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8f3e71ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x679d6aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -717,6 +1115,27 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x79740eff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb57613ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -724,6 +1143,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x066578ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },

crates/theme2/src/themes/night_owl.rs πŸ”—

@@ -112,6 +112,35 @@ pub fn night_owl() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf78b6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x7fdbcaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x7fcac3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -119,8 +148,43 @@ pub fn night_owl() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x82aaffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcaece6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xecc48dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc5e478ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc5e478ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x7fdbcaff).into()),
                                     ..Default::default()
@@ -229,6 +293,35 @@ pub fn night_owl() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xaa0881ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0b969bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0b969bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x994bc3ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -236,8 +329,43 @@ pub fn night_owl() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x4876d6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x994bc3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x4876d6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x4876d6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x4876d6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x0b969bff).into()),
                                     ..Default::default()

crates/theme2/src/themes/noctis.rs πŸ”—

@@ -96,6 +96,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -110,6 +117,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x705febff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5888a5ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xbecfdaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -117,8 +180,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xbecfdaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xdf759aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49e9a6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe4b781ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe66432ff).into()),
                                     ..Default::default()
@@ -210,6 +315,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -224,6 +336,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x705febff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8b737bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcbbec2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -231,8 +399,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcbbec2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xdf759aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49e9a6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe4b781ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe66432ff).into()),
                                     ..Default::default()
@@ -324,6 +534,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -338,6 +555,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5841ffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ca6a6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x004d57ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -345,8 +618,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x004d57ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5792ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00b368ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfa8900ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe64100ff).into()),
                                     ..Default::default()
@@ -439,7 +754,14 @@ pub fn noctis() -> UserThemeFamily {
                                 },
                             ),
                             (
-                                "function".into(),
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "function".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x0094a8ff).into()),
                                     ..Default::default()
@@ -452,6 +774,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5841ffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x9995b7ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0c006bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -459,8 +837,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0c006bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5792ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00b368ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfa8900ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe64100ff).into()),
                                     ..Default::default()
@@ -552,6 +972,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -566,6 +993,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5841ffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x0094a8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ca6a6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x004d57ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -573,8 +1056,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x004d57ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5792ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00b368ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x00bdd6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xfa8900ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe64100ff).into()),
                                     ..Default::default()
@@ -666,6 +1191,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -680,6 +1212,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x72b7c0ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x3e848dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x3e848dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x7067b1ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x3e848dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5d7787ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc5cdd3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -687,8 +1275,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc5cdd3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc88da2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x72c09fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x72b7c0ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x72b7c0ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd3b692ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xc37455ff).into()),
                                     ..Default::default()
@@ -780,6 +1410,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -794,6 +1431,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x705febff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5b858bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb1c9ccff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -801,8 +1494,50 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb1c9ccff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xdf759aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49e9a6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe4b781ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe66432ff).into()),
                                     ..Default::default()
@@ -894,6 +1629,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -908,6 +1650,62 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x705febff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x15a2b6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5b858bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.delimiter".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb1c9ccff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -916,7 +1714,49 @@ pub fn noctis() -> UserThemeFamily {
                                 },
                             ),
                             (
-                                "variable".into(),
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb1c9ccff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xdf759aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49e9a6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x49d5e9ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe4b781ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe66432ff).into()),
                                     ..Default::default()

crates/theme2/src/themes/nord.rs πŸ”—

@@ -96,9 +96,9 @@ pub fn nord() -> UserThemeFamily {
                             },
                         ),
                         (
-                            "emphasis".into(),
+                            "emphasis.strong".into(),
                             UserHighlightStyle {
-                                font_style: Some(UserFontStyle::Italic),
+                                font_weight: Some(UserFontWeight(700.0)),
                                 ..Default::default()
                             },
                         ),
@@ -116,6 +116,20 @@ pub fn nord() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "number".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xb48eacff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "operator".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x81a1c1ff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "punctuation".into(),
                             UserHighlightStyle {
@@ -123,6 +137,13 @@ pub fn nord() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "punctuation.delimiter".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x81a1c1ff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "string".into(),
                             UserHighlightStyle {
@@ -130,6 +151,34 @@ pub fn nord() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "string.escape".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xebcb8bff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "tag".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x81a1c1ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "text.literal".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xa3be8cff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "type".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x8fbcbbff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "variable".into(),
                             UserHighlightStyle {
@@ -137,6 +186,13 @@ pub fn nord() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "variable.special".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x81a1c1ff).into()),
+                                ..Default::default()
+                            },
+                        ),
                     ],
                 }),
             },

crates/theme2/src/themes/palenight.rs πŸ”—

@@ -95,6 +95,22 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -109,6 +125,48 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff869aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff869aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf78b6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x89ddffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x7fcac3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -116,8 +174,43 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x82aaffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5571ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc3e88dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xff5571ff).into()),
                                     ..Default::default()
@@ -208,6 +301,22 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -222,6 +331,48 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff869aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff869aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf78b6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x89ddffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x7fcac3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -229,8 +380,43 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x82aaffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5571ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc3e88dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xff5571ff).into()),
                                     ..Default::default()
@@ -321,6 +507,22 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    font_weight: Some(UserFontWeight(700.0)),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -335,6 +537,48 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "link_text".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff869aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "link_uri".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff869aff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf78b6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "operator".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x89ddffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "property".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x7fcac3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc792eaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -342,8 +586,43 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x82aaffff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5571ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc3e88dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "type".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xffcb6bff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xff5571ff).into()),
                                     ..Default::default()

crates/theme2/src/themes/rose_pine.rs πŸ”—

@@ -90,6 +90,14 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "function".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xeb6f92ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "keyword".into(),
                                 UserHighlightStyle {
@@ -97,6 +105,20 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xebbcbaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xebbcbaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -111,6 +133,27 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x9ccfd8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf5c177ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xebbcbaff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -120,6 +163,14 @@ pub fn rose_pine() -> UserThemeFamily {
                             ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xebbcbaff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe0def4ff).into()),
                                     ..Default::default()
@@ -130,7 +181,7 @@ pub fn rose_pine() -> UserThemeFamily {
                 },
             },
             UserTheme {
-                name: "Rose Moon".into(),
+                name: "Rose Pine Moon".into(),
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
@@ -205,6 +256,14 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "function".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xeb6f92ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "keyword".into(),
                                 UserHighlightStyle {
@@ -212,6 +271,20 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xea9a97ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xea9a97ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -226,6 +299,27 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x9ccfd8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf5c177ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xea9a97ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -235,6 +329,14 @@ pub fn rose_pine() -> UserThemeFamily {
                             ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xea9a97ff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0xe0def4ff).into()),
                                     ..Default::default()
@@ -320,6 +422,14 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "function".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xb3627aff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "keyword".into(),
                                 UserHighlightStyle {
@@ -327,6 +437,20 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "label".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd7827dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd7827dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "punctuation".into(),
                                 UserHighlightStyle {
@@ -341,6 +465,27 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x55949fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xea9d34ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "title".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd7827dff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -350,6 +495,14 @@ pub fn rose_pine() -> UserThemeFamily {
                             ),
                             (
                                 "variable".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd7827dff).into()),
+                                    font_style: Some(UserFontStyle::Italic),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "variable.special".into(),
                                 UserHighlightStyle {
                                     color: Some(rgba(0x575279ff).into()),
                                     ..Default::default()

crates/theme2/src/themes/solarized.rs πŸ”—

@@ -92,6 +92,27 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "embedded".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x93a1a1ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd33582ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd33582ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -106,6 +127,13 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd33582ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "property".into(),
                                 UserHighlightStyle {
@@ -113,6 +141,13 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "punctuation".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x657b83ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -120,6 +155,27 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcb4b15ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x258ad2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x29a198ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -134,6 +190,13 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x258ad2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },
@@ -213,6 +276,27 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "embedded".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x657b83ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd33582ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "emphasis.strong".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd33582ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -227,6 +311,20 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "number".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xd33582ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "punctuation.bracket".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x93a1a1ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "string".into(),
                                 UserHighlightStyle {
@@ -234,6 +332,27 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "string.escape".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcb4b15ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "tag".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x258ad2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
+                            (
+                                "text.literal".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x29a198ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "type".into(),
                                 UserHighlightStyle {
@@ -248,6 +367,13 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "variable.special".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x258ad2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                         ],
                     }),
                 },

crates/theme2/src/themes/synthwave_84.rs πŸ”—

@@ -88,6 +88,69 @@ pub fn synthwave_84() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "label".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xfe444fff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "link_text".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xd50c50ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "link_uri".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xd50c50ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "number".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xf97d71ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "operator".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xfede5cff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "property".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xff7ddaff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "punctuation".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x35f9f5ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "tag".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x71f1b7ff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "title".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xfe444fff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "type".into(),
                             UserHighlightStyle {
@@ -97,6 +160,13 @@ pub fn synthwave_84() -> UserThemeFamily {
                         ),
                         (
                             "variable".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xff7ddaff).into()),
+                                ..Default::default()
+                            },
+                        ),
+                        (
+                            "variable.special".into(),
                             UserHighlightStyle {
                                 color: Some(rgba(0xfe444fff).into()),
                                 font_weight: Some(UserFontWeight(700.0)),

crates/theme_importer/src/vscode/converter.rs πŸ”—

@@ -11,7 +11,7 @@ use crate::util::Traverse;
 use crate::vscode::VsCodeTheme;
 use crate::ThemeMetadata;
 
-use super::{VsCodeTokenScope, ZedSyntaxToken};
+use super::ZedSyntaxToken;
 
 pub(crate) fn try_parse_color(color: &str) -> Result<Hsla> {
     Ok(Rgba::try_from(color)?.into())
@@ -268,19 +268,15 @@ impl VsCodeThemeConverter {
         let mut highlight_styles = IndexMap::new();
 
         for syntax_token in ZedSyntaxToken::iter() {
-            let vscode_scope = syntax_token.to_vscode();
-
-            let token_color = self
-                .theme
-                .token_colors
-                .iter()
-                .find(|token_color| match token_color.scope {
-                    Some(VsCodeTokenScope::One(ref scope)) => scope == vscode_scope,
-                    Some(VsCodeTokenScope::Many(ref scopes)) => {
-                        scopes.contains(&vscode_scope.to_string())
-                    }
-                    None => false,
-                });
+            let multimatch_scopes = syntax_token.to_vscode();
+
+            let token_color = self.theme.token_colors.iter().find(|token_color| {
+                token_color
+                    .scope
+                    .as_ref()
+                    .map(|scope| scope.multimatch(&multimatch_scopes))
+                    .unwrap_or(false)
+            });
 
             let Some(token_color) = token_color else {
                 continue;

crates/theme_importer/src/vscode/syntax.rs πŸ”—

@@ -8,6 +8,17 @@ pub enum VsCodeTokenScope {
     Many(Vec<String>),
 }
 
+impl VsCodeTokenScope {
+    pub fn multimatch(&self, matches: &[&'static str]) -> bool {
+        match self {
+            VsCodeTokenScope::One(scope) => matches.iter().any(|&s| s == scope),
+            VsCodeTokenScope::Many(scopes) => {
+                matches.iter().any(|s| scopes.contains(&s.to_string()))
+            }
+        }
+    }
+}
+
 #[derive(Debug, Deserialize)]
 pub struct VsCodeTokenColor {
     pub scope: Option<VsCodeTokenScope>,
@@ -118,49 +129,90 @@ impl std::fmt::Display for ZedSyntaxToken {
 }
 
 impl ZedSyntaxToken {
-    pub fn to_vscode(&self) -> &'static str {
+    pub fn to_vscode(&self) -> Vec<&'static str> {
         use ZedSyntaxToken::*;
 
         match self {
-            SyntaxAttribute => "entity.other.attribute-name",
-            SyntaxBoolean => "constant.language",
-            SyntaxComment => "comment",
-            SyntaxCommentDoc => "comment.block.documentation",
-            SyntaxConstant => "constant.character",
-            SyntaxConstructor => "entity.name.function.definition.special.constructor",
-            SyntaxEmbedded => "embedded",
-            SyntaxEmphasis => "emphasis",
-            SyntaxEmphasisStrong => "emphasis.strong",
-            SyntaxEnum => "support.type.enum",
-            SyntaxFunction => "entity.name.function",
-            SyntaxHint => "hint",
-            SyntaxKeyword => "keyword",
-            SyntaxLabel => "label",
-            SyntaxLinkText => "link_text",
-            SyntaxLinkUri => "link_uri",
-            SyntaxNumber => "number",
-            SyntaxOperator => "operator",
-            SyntaxPredictive => "predictive",
-            SyntaxPreproc => "preproc",
-            SyntaxPrimary => "primary",
-            SyntaxProperty => "variable.object.property", //"variable.other.field"
-            SyntaxPunctuation => "punctuation",
-            SyntaxPunctuationBracket => "punctuation.bracket",
-            SyntaxPunctuationDelimiter => "punctuation.delimiter",
-            SyntaxPunctuationListMarker => "punctuation.list_marker",
-            SyntaxPunctuationSpecial => "punctuation.special",
-            SyntaxString => "string",
-            SyntaxStringEscape => "string.escape",
-            SyntaxStringRegex => "string.regex",
-            SyntaxStringSpecial => "string.special",
-            SyntaxStringSpecialSymbol => "string.special.symbol",
-            SyntaxTag => "tag",
-            SyntaxTextLiteral => "text.literal",
-            SyntaxTitle => "title",
-            SyntaxType => "entity.name.type",
-            SyntaxVariable => "variable.language",
-            SyntaxVariableSpecial => "variable.special",
-            SyntaxVariant => "variant",
+            SyntaxAttribute => vec!["entity.other.attribute-name"],
+            SyntaxBoolean => vec!["constant.language"],
+            SyntaxComment => vec!["comment"],
+            SyntaxCommentDoc => vec!["comment.block.documentation"],
+            SyntaxConstant => vec!["constant.character"],
+            SyntaxConstructor => vec!["entity.name.function.definition.special.constructor"],
+            SyntaxEmbedded => vec!["meta.embedded"],
+            SyntaxEmphasis => vec!["markup.italic"],
+            SyntaxEmphasisStrong => vec![
+                "markup.bold",
+                "markup.italic markup.bold",
+                "markup.bold markup.italic",
+            ],
+            SyntaxEnum => vec!["support.type.enum"],
+            SyntaxFunction => vec![
+                "entity.name.function",
+                "variable.function",
+                "support.function",
+            ],
+            SyntaxKeyword => vec!["keyword"],
+            SyntaxLabel => vec![
+                "label",
+                "entity.name",
+                "entity.name.import",
+                "entity.name.package",
+            ],
+            SyntaxLinkText => vec!["markup.underline.link", "string.other.link"],
+            SyntaxLinkUri => vec!["markup.underline.link", "string.other.link"],
+            SyntaxNumber => vec!["constant.numeric", "number"],
+            SyntaxOperator => vec!["operator", "keyword.operator"],
+            SyntaxPreproc => vec!["preproc"],
+            SyntaxProperty => vec![
+                "variable.member",
+                "support.type.property-name",
+                "variable.object.property",
+                "variable.other.field",
+            ],
+            SyntaxPunctuation => vec![
+                "punctuation",
+                "punctuation.section",
+                "punctuation.accessor",
+                "punctuation.separator",
+                "punctuation.terminator",
+                "punctuation.definition.tag",
+            ],
+            SyntaxPunctuationBracket => vec![
+                "punctuation.bracket",
+                "punctuation.definition.tag.begin",
+                "punctuation.definition.tag.end",
+            ],
+            SyntaxPunctuationDelimiter => vec![
+                "punctuation.delimiter",
+                "punctuation.separator",
+                "punctuation.terminator",
+            ],
+            SyntaxPunctuationListMarker => vec!["markup.list punctuation.definition.list.begin"],
+            SyntaxPunctuationSpecial => vec!["punctuation.special"],
+            SyntaxString => vec!["string"],
+            SyntaxStringEscape => vec!["string.escape", "constant.character", "constant.other"],
+            SyntaxStringRegex => vec!["string.regex"],
+            SyntaxStringSpecial => vec!["string.special", "constant.other.symbol"],
+            SyntaxStringSpecialSymbol => vec!["string.special.symbol", "constant.other.symbol"],
+            SyntaxTag => vec!["tag", "entity.name.tag", "meta.tag.sgml"],
+            SyntaxTextLiteral => vec!["text.literal", "string"],
+            SyntaxTitle => vec!["title", "entity.name"],
+            SyntaxType => vec!["entity.name.type", "support.type", "support.class"],
+            SyntaxVariable => vec![
+                "variable",
+                "variable.language",
+                "variable.member",
+                "variable.parameter.function-call",
+            ],
+            SyntaxVariableSpecial => vec![
+                "variable.special",
+                "variable.member",
+                "variable.annotation",
+                "variable.language",
+            ],
+            SyntaxVariant => vec!["variant"],
+            _ => vec![],
         }
     }
 }