diff options
| author | Gabriel Schneider <[email protected]> | 2026-07-31 02:21:01 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-01 15:02:08 -0300 |
| commit | 0bfa4615988c0d1bcaa38453375760c60076c5ea (patch) | |
| tree | fab4f972c10b07739aabc9d772c43e102bce2c07 /vendor/themes/monokai.toml | |
| parent | be404e0d4f91548af6ed600b2fd2027ad8a041c7 (diff) | |
| download | pardes-0bfa4615988c0d1bcaa38453375760c60076c5ea.tar.gz pardes-0bfa4615988c0d1bcaa38453375760c60076c5ea.zip | |
themes: one file each, generated from helix and zed, picked by stepping a list
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.
Diffstat (limited to 'vendor/themes/monokai.toml')
| -rw-r--r-- | vendor/themes/monokai.toml | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/vendor/themes/monokai.toml b/vendor/themes/monokai.toml new file mode 100644 index 00000000..dfa7040c --- /dev/null +++ b/vendor/themes/monokai.toml @@ -0,0 +1,121 @@ +# Author: Shafkath Shuhan <[email protected]> + +"tag" = { fg = "tag" } + +"namespace" = { fg = "type" } +"module" = { fg = "type" } + +"type" = { fg = "type" } +"type.builtin" = { fg = "#66D9EF" } +"type.enum.variant" = { fg = "text" } +"constructor" = { fg = "fn_declaration" } +"variable.other.member" = { fg = "variable" } + +"keyword" = { fg = "keyword" } +"keyword.directive" = { fg = "keyword" } +"keyword.control" = { fg = "keyword" } +"label" = { fg = "keyword" } + +"special" = { fg = "keyword" } +"operator" = { fg = "text" } + +"punctuation" = { fg = "text" } +"punctuation.delimiter" = { fg = "text" } + +"variable" = { fg = "variable" } +"variable.parameter" = { fg = "#fd971f" } +"variable.builtin" = { fg = "keyword" } +"constant" = { fg = "variable" } +"constant.builtin" = { fg = "#ae81ff" } + +"function" = { fg = "fn_declaration" } +"function.builtin" = { fg = "fn_declaration" } +"function.macro" = { fg = "keyword" } +"attribute" = { fg = "fn_declaration" } + +"comment" = { fg = "#88846F" } +"ui.virtual.whitespace" = "#88846F" +"ui.virtual.ruler" = { bg = "#24241e" } +"ui.virtual.jump-label" = { fg = "special", modifiers = ["bold"] } + +"string" = { fg = "#e6db74" } +"constant.character" = { fg = "#e6db74" } +"string.regexp" = { fg = "regex" } +"constant.numeric" = { fg = "#ae81ff" } +"constant.character.escape" = { fg = "#ae81ff" } + +# TODO +"markup.heading" = "blue" +"markup.list" = "red" +"markup.bold" = { fg = "yellow", modifiers = ["bold"] } +"markup.italic" = { fg = "magenta", modifiers = ["italic"] } +"markup.strikethrough" = { modifiers = ["crossed_out"] } +"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] } +"markup.link.text" = "red" +"markup.quote" = "cyan" +"markup.raw" = "green" + +"diff.plus" = { fg = "#a6e22e" } +"diff.delta" = { fg = "#fd971f" } +"diff.minus" = { fg = "#f92672" } + +"ui.background" = { fg = "text", bg = "background" } + +"ui.window" = { bg = "widget" } +"ui.popup" = { fg = "text", bg = "widget" } +"ui.help" = { fg = "text", bg = "widget" } +"ui.menu" = { fg = "text", bg = "widget" } +"ui.menu.selected" = { bg = "#414339" } + +"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] } +"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] } +"ui.cursor.match" = { fg = "#888888", modifiers = ["reversed"] } + +"ui.selection" = { bg = "#878b91" } +"ui.selection.primary" = { bg = "#575b61" } + +"ui.linenr" = { fg = "#90908a" } +"ui.linenr.selected" = { fg = "#c2c2bf" } + +"ui.cursorline" = { bg = "#24241e" } +"ui.statusline" = { fg = "active_text", bg = "#414339" } +"ui.statusline.inactive" = { fg = "active_text", bg = "#75715e" } + +# Malformed ANSI: grey2, bg3. See 'https://github.com/helix-editor/helix/issues/5709' +# "ui.bufferline" = { fg = "grey2", bg = "bg3" } +"ui.bufferline.active" = { fg = "active_text", bg = "selection", modifiers = [ + "bold", +] } +"ui.virtual.inlay-hint" = { fg = "#88846F" } + +"ui.text" = { fg = "text" } +"ui.text.focus" = { fg = "active_text" } + +"warning" = { fg = "#cca700" } +"error" = { fg = "#f48771" } +"info" = { fg = "#75beff" } +"hint" = { fg = "#eeeeb3" } + +"diagnostic.warning" = { underline = { color = "#cca700", style = "curl" } } +"diagnostic.error" = { underline = { color = "#f48771", style = "curl" } } +"diagnostic.info" = { underline = { color = "#75beff", style = "curl" } } +"diagnostic.hint" = { underline = { color = "#eeeeb3", style = "curl" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } +"diagnostic.deprecated" = { modifiers = ["crossed_out"] } + +[palette] +type = "#A6E22E" +keyword = "#F92672" +regex = "#CE9178" +special = "#C586C0" +variable = "#F8F8F2" +fn_declaration = "#A6E22E" + +background = "#272822" +text = "#f8f8f2" +active_text = "#ffffff" +cursor = "#a6a6a6" +inactive_cursor = "#878b91" +widget = "#1e1f1c" +selection = "#414339" +tag = "#F92672" |
