From 0bfa4615988c0d1bcaa38453375760c60076c5ea Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Fri, 31 Jul 2026 02:21:01 -0300 Subject: themes: one file each, generated from helix and zed, picked by stepping a list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each theme is a .zig file of pure data and nothing enumerates them by hand — fold() walks the container's declarations, so a theme is a file and that is the whole registration. Field by field rather than a wholesale coercion, which makes a missing field a compile error that names it. tools/gen_themes.zig reads helix .toml and zed .json out of vendor/themes and emits one .zig each; build.zig reads that directory, so adding a theme is dropping a file in. Output goes to the build cache rather than the tree, so zig owns the freshness check and a deleted source cannot leave a stale theme behind. Vendored, not read from the genizah: the build stays offline. A source it cannot map is a hard error naming the file and the key, never a silently black-on-black theme. ThemeSel is the clever half. Traits gained an `executes` column, so n/N over that buffer hands the whole line to Exec instead of the leading word to Look — both arms the ordinary builtin, so a stepped row does exactly what the matching mouse button on it would. Stepping the list previews each theme live. The trait is a pane property, not an output-pane branch, so any pane whose lines are commands can opt in. Goldens: leader gains SPC t t; theme's fourth NextColor no longer wraps to helix because the ring is fifteen long. New: themesel. --- vendor/themes/dracula.toml | 159 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 vendor/themes/dracula.toml (limited to 'vendor/themes/dracula.toml') diff --git a/vendor/themes/dracula.toml b/vendor/themes/dracula.toml new file mode 100644 index 00000000..8b4abe16 --- /dev/null +++ b/vendor/themes/dracula.toml @@ -0,0 +1,159 @@ +# Author : Sebastian Zivota +# Author : Chirikumbrah + +"annotation" = { fg = "foreground" } + +"attribute" = { fg = "green", modifiers = ["italic"] } + +"comment" = { fg = "comment" } +"comment.block" = { fg = "comment" } +"comment.block.documentation" = { fg = "comment" } +"comment.line" = { fg = "comment" } +"comment.line.documentation" = { fg = "comment" } + +"constant" = { fg = "purple" } +"constant.builtin" = { fg = "purple" } +"constant.builtin.boolean" = { fg = "purple" } +"constant.character" = { fg = "cyan" } +"constant.character.escape" = { fg = "pink" } +"constant.macro" = { fg = "purple" } +"constant.numeric" = { fg = "purple" } +"constructor" = { fg = "purple" } + +"definition" = { underline = { color = "cyan" } } + +"diagnostic" = { underline = { color = "orange", style = "curl" } } +"diagnostic.hint" = { underline = { color = "purple", style = "curl" } } +"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } } +"diagnostic.error" = { underline = { color = "red", style = "curl" } } +"diagnostic.info" = { underline = { color = "cyan", style = "curl" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } +"diagnostic.deprecated" = { modifiers = ["crossed_out"] } + +"error" = { fg = "red" } +"hint" = { fg = "purple" } +"info" = { fg = "cyan" } +"warning" = { fg = "yellow" } + +"diff.delta" = { fg = "orange" } +"diff.minus" = { fg = "red" } +"diff.plus" = { fg = "green" } + +# d +"function" = { fg = "green" } +"function.builtin" = { fg = "green" } +"function.call" = { fg = "green" } +"function.macro" = { fg = "purple" } +"function.method" = { fg = "green" } + +"keyword" = { fg = "pink" } +"keyword.control.conditional" = { fg = "pink" } +"keyword.control.exception" = { fg = "purple" } +"keyword.control.import" = { fg = "pink" } +"keyword.control.repeat" = { fg = "pink" } +"keyword.directive" = { fg = "green" } +"keyword.function" = { fg = "pink" } +"keyword.operator" = { fg = "pink" } +"keyword.return" = { fg = "pink" } +"keyword.storage" = { fg = "pink" } +"keyword.storage.modifier" = { fg = "pink" } +"keyword.storage.type" = { fg = "cyan", modifiers = ["italic"] } + +"label" = { fg = "cyan" } + +"markup.bold" = { fg = "orange", modifiers = ["bold"] } +"markup.heading" = { fg = "purple", modifiers = ["bold"] } +"markup.italic" = { fg = "yellow", modifiers = ["italic"] } +"markup.link.text" = { fg = "pink" } +"markup.link.url" = { fg = "cyan" } +"markup.list" = { fg = "cyan" } +"markup.quote" = { fg = "yellow", modifiers = ["italic"] } +"markup.raw" = { fg = "foreground" } +"markup.strikethrough" = { modifiers = ["crossed_out"] } + +"punctuation" = { fg = "foreground" } +"punctuation.bracket" = { fg = "foreground" } +"punctuation.delimiter" = { fg = "foreground" } +"punctuation.special" = { fg = "pink" } + +"special" = { fg = "pink" } + +"string" = { fg = "yellow" } +"string.regexp" = { fg = "red" } +"string.special" = { fg = "orange" } +"string.symbol" = { fg = "yellow" } + +"tag" = { fg = "pink" } +"tag.attribute" = { fg = "purple" } +"tag.delimiter" = { fg = "foreground" } + +"type" = { fg = "cyan", modifiers = ["italic"] } +"type.builtin" = { fg = "cyan" } +"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] } + +"ui.background" = { fg = "foreground", bg = "background" } +"ui.cursor" = { fg = "background", bg = "purple", modifiers = ["dim"] } +"ui.cursor.insert" = { fg = "background", bg = "green", modifiers = ["dim"] } +"ui.cursor.match" = { fg = "foreground", bg = "grey" } +"ui.cursor.normal" = { fg = "background", bg = "purple", modifiers = ["dim"] } +"ui.cursor.primary.insert" = { fg = "background", bg = "green" } +"ui.cursor.primary.normal" = { fg = "background", bg = "purple" } +"ui.cursor.primary.select" = { fg = "background", bg = "cyan" } +"ui.cursor.select" = { fg = "background", bg = "cyan", modifiers = ["dim"] } +"ui.cursorline.primary" = { bg = "cursorline" } +"ui.debug" = { fg = "red" } +"ui.help" = { fg = "foreground", bg = "black" } +"ui.highlight.frameline" = { fg = "background", bg = "red" } +"ui.linenr" = { fg = "comment" } +"ui.linenr.selected" = { fg = "foreground" } +"ui.menu" = { fg = "foreground", bg = "current_line" } +"ui.menu.scroll" = { fg = "foreground", bg = "current_line" } +"ui.menu.selected" = { fg = "current_line", bg = "purple", modifiers = ["dim"] } +"ui.popup" = { fg = "foreground", bg = "black" } +"ui.selection" = { bg = "selection" } +"ui.selection.primary" = { bg = "current_line" } +"ui.statusline" = { fg = "foreground", bg = "darker" } +"ui.statusline.inactive" = { fg = "comment", bg = "darker" } +"ui.statusline.insert" = { fg = "black", bg = "green", modifiers = ["bold"] } +"ui.statusline.normal" = { fg = "black", bg = "purple", modifiers = ["bold"] } +"ui.statusline.select" = { fg = "black", bg = "cyan", modifiers = ["bold"] } +"ui.text" = { fg = "foreground" } +"ui.text.focus" = { fg = "cyan" } +"ui.text.directory" = { fg = "cyan" } +"ui.virtual.indent-guide" = { fg = "indent" } +"ui.virtual.inlay-hint" = { fg = "cyan" } +"ui.virtual.inlay-hint.parameter" = { fg = "cyan", modifiers = ["italic", "dim"] } +"ui.virtual.inlay-hint.type" = { fg = "cyan", modifiers = ["italic", "dim"] } +"ui.virtual.jump-label" = { fg = "pink", modifiers = ["bold"] } +"ui.virtual.ruler" = { bg = "black" } +"ui.virtual.whitespace" = { fg = "whitespace" } +"ui.virtual.wrap" = { fg = "current_line" } +"ui.window" = { fg = "foreground" } + +"variable" = { fg = "foreground" } +"variable.builtin" = { fg = "purple", modifiers = ["italic"] } +"variable.other" = { fg = "foreground" } +"variable.other.member" = { fg = "foreground" } +"variable.parameter" = { fg = "orange", modifiers = ["italic"] } + + +[palette] +background = "#282A36" +black = "#191A21" +comment = "#6272A4" +current_line = "#44475a" +cursorline = "#2d303e" +cyan = "#8be9fd" +darker = "#222430" +foreground = "#f8f8f2" +green = "#50fa7b" +grey = "#666771" +indent = "#56596a" +orange = "#ffb86c" +pink = "#ff79c6" +purple = "#BD93F9" +red = "#ff5555" +selection = "#363848" +whitespace = "#586693" +yellow = "#f1fa8c" + -- cgit v1.3