diff --git a/apps/Sublime Text 4/Packages/User/Jellybeams - Nebula.sublime-color-scheme b/apps/Sublime Text 4/Packages/User/Jellybeams - Nebula.sublime-color-scheme
new file mode 100644
index 0000000..29766df
--- /dev/null
+++ b/apps/Sublime Text 4/Packages/User/Jellybeams - Nebula.sublime-color-scheme
@@ -0,0 +1,274 @@
+/*
+ * Jellybeams - Nebula: Based on Stephen Underwood's theme (sphvn).
+ * Jellybeams: Based on NanoTech's theme Jellybeans for vim.
+ */
+{
+ "name": "Jellybeams - Nebula",
+
+ "variables": {
+ "black": "#151515",
+ "white": "#E6E6D1",
+
+ "bright": "#FFFFE8",
+
+ "dim": "#CACAB8",
+ "dim": "#BABAAA",
+
+ "string": "#99AD6A",
+ "number": "#7EAFC4",
+ "variable": "#FFB964",
+ "keyword": "#C0C2B0",
+ "invalid": "red",
+ },
+
+ "globals": {
+ "foreground": "var(white)",
+ "background": "var(black)",
+ "caret": "#B0D0F0",
+ "line_highlight": "#83689448",
+
+ "gutter_foreground": "#E8E8D374",
+
+ "selection": "#71597FA8",
+ "selection_foreground": "#FFFFE8",
+ "selection_border": "#FFFFFF",
+
+ "highlight": "#FFFFFF",
+
+ "brackets_options": "foreground bold underline glow",
+ "brackets_foreground": "white",
+ "bracket_contents_options": "",
+ "bracket_contents_foreground": "var(white)",
+ },
+
+ "rules": [
+ // Universal rules
+
+ {
+ "scope": "comment",
+ "foreground": "var(bright)",
+ "font_style": "italic",
+ },
+
+ {
+ "scope": "comment.block",
+ "foreground": "var(dim)",
+ "font_style": "italic",
+ },
+
+ {
+ "scope": "constant.language.boolean.true",
+ "foreground": "#B96BF7",
+ },
+
+ {
+ "scope": "constant.language.boolean.false",
+ "foreground": "#FE4A4A",
+ },
+
+ {
+ "scope": "constant.language.null",
+ "foreground": "#FF2672",
+ },
+
+ {
+ "scope": "invalid",
+ "foreground": "var(invalid)",
+ },
+
+ {
+ "scope": "keyword.control",
+ "foreground": "var(keyword)",
+ },
+
+ {
+ "scope": "keyword.declaration",
+ "foreground": "var(keyword)",
+ },
+
+ {
+ "scope": "storage.modifier",
+ "foreground": "var(keyword)",
+ },
+
+ // Language - CSS
+
+ {
+ "scope": "comment.block.css",
+ "foreground": "var(bright)",
+ "font_style": "italic"
+ },
+
+ {
+ "scope": "entity.other.layer.css",
+ "foreground": "var(variable)",
+ },
+
+ // Language - Fastly VCL
+
+ {
+ "scope": "meta.string.vcl.fastly",
+ "foreground": "var(string)",
+ },
+
+ {"scope": "constant.numeric.vcl.fastly", "foreground": "var(number)"},
+ {"scope": "constant.numeric.float.decimal.vcl.fastly", "foreground": "var(number)"},
+ {"scope": "constant.numeric.float.hexadecimal.vcl.fastly", "foreground": "var(number)"},
+ {"scope": "constant.numeric.integer.decimal.vcl.fastly", "foreground": "var(number)"},
+ {"scope": "constant.numeric.integer.hexadecimal.vcl.fastly", "foreground": "var(number)"},
+
+ {
+ "scope": "entity.name.subroutine.vcl.fastly",
+ "foreground": "var(variable)",
+ },
+
+ {
+ "scope": "storage.type.vcl.fastly",
+ "foreground": "var(dim)",
+ },
+
+ // Language - HTML
+
+ {
+ "scope": "meta.tag.block.any.html",
+ "foreground": "var(dim)",
+ },
+
+ {
+ "scope": "meta.tag.inline.any.html",
+ "foreground": "var(dim)",
+ },
+
+ {
+ "scope": "meta.tag.inline.any.html meta.path.url.html string",
+ "foreground": "var(string)",
+ },
+
+ {
+ "scope": "meta.toc-list.id.html string",
+ "foreground": "var(variable)",
+ },
+
+ // Language - Python
+
+ {
+ "scope": "meta.string.python",
+ "foreground": "var(string)",
+ },
+
+ {
+ "scope": "meta.interpolation.python",
+ "foreground": "color(var(white) lightness(70%) saturation(25%))",
+ "font_style": "bold"
+ },
+
+ // Language - JavaScript
+
+ {
+ "scope": "meta.string.js",
+ "foreground": "var(string)",
+ },
+
+ {
+ "scope": "meta.string.template.js",
+ "foreground": "var(string)",
+ },
+
+ {
+ "scope": "punctuation.definition.string.begin.js",
+ "foreground": "color(var(string) lightness(40%))",
+ },
+
+ {
+ "scope": "punctuation.definition.string.end.js",
+ "foreground": "color(var(string) lightness(40%))",
+ },
+
+ {
+ "scope": "source.js.embedded - string.regexp.js",
+ "foreground": "color(var(white) lightness(70%) saturation(25%))",
+ "font_style": "bold"
+ },
+
+ {
+ "scope": "keyword.declaration.function.arrow.js",
+ "foreground": "var(white)",
+ },
+
+ {
+ "scope": "keyword.control.import.vcl.fastly",
+ "foreground": "var(white)",
+ "font_style": "bold"
+ },
+
+ // JavaScript - additional keywords
+
+ {"scope": "storage.modifier.js", "foreground": "var(keyword)"},
+ {"scope": "storage.modifier.extends.js", "foreground": "var(keyword)"},
+
+ // JavaScript - imports and exports
+
+ {
+ "scope": "meta.import.js string",
+ "foreground": "var(white)",
+ },
+
+ {
+ "scope": "meta.export.js meta.binding.name.js - meta.function",
+ "foreground": "var(variable)",
+ },
+
+ // JavaScript - function and class names
+
+ {
+ "scope": "entity.name.function.js - meta.function meta.block",
+ "foreground": "var(variable)",
+ },
+
+ {
+ "scope": "entity.name.class.js",
+ "foreground": "var(bright)",
+ },
+
+ {
+ "scope": "meta.function-call.arguments.js entity.name.function.js",
+ "foreground": "var(white)",
+ },
+
+ // JavaScript - first level of mapping keys in class exports
+
+ {
+ "scope": "meta.export.js meta.class.js meta.mapping.key.js - meta.mapping.js meta.mapping.js - meta.for.js",
+ "foreground": "var(variable)",
+ },
+
+ {
+ "scope": "meta.export.js meta.class.js meta.mapping.js meta.mapping.js meta.mapping.key.js",
+ "foreground": "var(white)",
+ },
+
+ {
+ "scope": "meta.export.js meta.class.js meta.function.parameters.js meta.mapping.key.js",
+ "foreground": "var(white)",
+ },
+
+ {
+ "scope": "meta.export.js meta.class.js meta.mapping.js meta.mapping.js entity.name.function.js",
+ "foreground": "var(white)",
+ },
+
+ // Language - JSON
+
+ {
+ "scope": "meta.string.json",
+ "foreground": "var(string)",
+ },
+
+ // Language - Regular Expression
+
+ {
+ "scope": "entity.name.other.group.regexp",
+ "foreground": "var(variable)",
+ },
+ ],
+}
|