From c7aa7bf4baf8e0ac4eca3ebdca065ab2a7bea95c Mon Sep 17 00:00:00 2001 From: Kirawi <67773714+kirawi@users.noreply.github.com> Date: Wed, 7 Jul 2021 20:51:46 -0400 Subject: [PATCH] VSCode Dark+ Theme (#414) * wip * Add VSCode Dark+ Theme wip wip wip wip wip wip properly detect constants add bool wip * suggestion * add variant for c/c++ * fix hexcode error * removed regex highlight * fixed constant higlighting * wip * add space * add suggestions * update theme * update book * suggestions * fix c/c++ enum * update book --- book/src/themes.md | 1 + runtime/queries/c/highlights.scm | 2 + runtime/queries/rust/highlights.scm | 3 +- runtime/themes/dark_plus.toml | 79 +++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 runtime/themes/dark_plus.toml diff --git a/book/src/themes.md b/book/src/themes.md index e5c461fd2..4d80f99a3 100644 --- a/book/src/themes.md +++ b/book/src/themes.md @@ -61,6 +61,7 @@ Possible keys: | `variable.parameter` | | | `type` | | | `type.builtin` | | +| `type.enum.variant` | Enum variants | | `constructor` | | | `function` | | | `function.macro` | | diff --git a/runtime/queries/c/highlights.scm b/runtime/queries/c/highlights.scm index 36fe47d91..258e07e72 100644 --- a/runtime/queries/c/highlights.scm +++ b/runtime/queries/c/highlights.scm @@ -54,6 +54,8 @@ "." @punctuation.delimiter ";" @punctuation.delimiter +(enumerator) @type.enum.variant + (string_literal) @string (system_lib_string) @string diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm index b72216f6c..bb15074b2 100644 --- a/runtime/queries/rust/highlights.scm +++ b/runtime/queries/rust/highlights.scm @@ -3,9 +3,10 @@ ; Assume all-caps names are constants ((identifier) @constant - (#match? @constant "^[A-Z][A-Z\\d_]+$'")) + (#match? @constant "^[A-Z][A-Z\\d_]+$")) ; Assume other uppercase names are enum constructors +(enum_variant) @type.enum.variant ((identifier) @constructor (#match? @constructor "^[A-Z]")) diff --git a/runtime/themes/dark_plus.toml b/runtime/themes/dark_plus.toml new file mode 100644 index 000000000..101c6d9e0 --- /dev/null +++ b/runtime/themes/dark_plus.toml @@ -0,0 +1,79 @@ +# Author: Shafkath Shuhan + +"namespace" = { fg = "type" } +"module" = { fg = "type" } +"type" = { fg = "type" } +"type.builtin" = { fg = "type" } + +"keyword" = { fg = "keyword" } +"keyword.directive" = { fg = "keyword" } +"function.macro" = { fg = "keyword" } +"variable.builtin" = { fg = "keyword" } +"label" = { fg = "keyword" } +"constant.builtin" = { fg = "keyword" } + +"punctuation" = { fg = "text" } +"punctuation.delimiter" = { fg = "text" } + +"keyword.control" = { fg = "special" } +"special" = { fg = "text" } +"operator" = { fg = "text" } + +"variable" = { fg = "variable" } +"variable.parameter" = { fg = "variable" } +"property" = { fg = "variable" } + +"attribute" = { fg = "fn_declaration" } +"function" = { fg = "fn_declaration" } +"function.builtin" = { fg = "fn_declaration" } + +"comment" = { fg = "#6A9955" } + +"constant" = { fg = "constant" } +"type.enum.variant" = { fg = "constant" } +"constructor" = { fg = "constant" } + +"string" = { fg = "#ce9178" } +"number" = { fg = "#b5cea8" } +"escape" = { fg = "#d7ba7d" } + +"ui.background" = { fg = "#d4d4d4", bg = "#1e1e1e" } + +"ui.help" = { bg = "widget" } +"ui.popup" = { bg = "widget" } +"ui.window" = { bg = "widget" } +"ui.menu.selected" = { bg = "widget" } + +"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] } +"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] } +"ui.cursor.match" = { fg = "cursor", modifiers = ['underlined'] } + +"ui.selection" = { bg = "#3a3d41" } +"ui.selection.primary" = { bg = "#add6ff26" } + +"ui.linenr" = { fg = "#858585" } +"ui.linenr.selected" = { fg = "#c6c6c6" } + +"ui.statusline" = { fg = "#ffffff", bg = "#007acc" } + +"ui.text" = { fg = "text", bg = "background" } +"ui.text.focus" = { fg = "#ffffff" } + +"warning" = { fg = "#cca700" } +"error" = { fg = "#f48771" } +"info" = { fg = "#75beff" } +"hint" = { fg = "#eeeeeeb3" } + +[palette] +type = "#4EC9B0" +keyword = "#569CD6" +regex = "#CE9178" +special = "#C586C0" +variable = "#9CDCFE" +fn_declaration = "#DCDCAA" +constant = "#4FC1FF" + +background = "#1e1e1e" +text = "#d4d4d4" +cursor = "#a6a6a6" +widget = "#252526"