nixos/shared/modules/services/theme_switcher/templates/helix_minimal.toml
2026-01-23 13:44:07 -07:00

154 lines
5.5 KiB
TOML

# Pywal Minimal - Judicious Syntax Highlighting
# Uses only 4 colors for syntax
# Functions and variables remain plain text for reduced visual noise
# Colors dynamically generated from wallpaper via pywal
"ui.background" = {{ bg = "base" }}
"ui.virtual" = {{ fg = "surface0" }}
"ui.virtual.ruler" = {{ bg = "surface0" }}
"ui.virtual.indent-guide" = {{ fg = "surface0" }}
"ui.virtual.inlay-hint" = {{ fg = "overlay1", bg = "mantle", modifiers = ["italic"] }}
"ui.virtual.jump-label" = {{ fg = "red", modifiers = ["bold"] }}
"ui.selection" = {{ fg = "text", bg = "surface1" }}
"ui.selection.primary" = {{ fg = "text", bg = "surface2" }}
"ui.cursor" = {{ fg = "base", bg = "cursor" }}
"ui.cursor.primary" = {{ fg = "base", bg = "cursor" }}
"ui.cursor.match" = {{ fg = "color1", modifiers = ["bold"] }}
"ui.cursorline.primary" = {{ bg = "surface0" }}
"ui.cursorcolumn.primary" = {{ bg = "surface0" }}
"ui.linenr" = {{ fg = "surface1" }}
"ui.linenr.selected" = {{ fg = "cursor", modifiers = ["bold"] }}
"ui.statusline" = {{ fg = "text", bg = "mantle" }}
"ui.statusline.inactive" = {{ fg = "overlay0", bg = "mantle" }}
"ui.statusline.normal" = {{ fg = "base", bg = "cursor", modifiers = ["bold"] }}
"ui.statusline.insert" = {{ fg = "base", bg = "color2", modifiers = ["bold"] }}
"ui.statusline.select" = {{ fg = "base", bg = "color5", modifiers = ["bold"] }}
"ui.bufferline" = {{ fg = "overlay0", bg = "mantle" }}
"ui.bufferline.active" = {{ fg = "cursor", bg = "base", modifiers = ["bold"] }}
"ui.help" = {{ fg = "text", bg = "surface0" }}
"ui.text" = "text"
"ui.text.focus" = {{ fg = "text", bg = "surface0" }}
"ui.text.inactive" = "overlay1"
"ui.menu" = {{ fg = "text", bg = "surface0" }}
"ui.menu.selected" = {{ fg = "text", bg = "surface1", modifiers = ["bold"] }}
"ui.menu.scroll" = {{ fg = "overlay0", bg = "surface0" }}
"ui.popup" = {{ fg = "text", bg = "surface0" }}
"ui.window" = {{ fg = "base" }}
"diagnostic.error" = {{ underline = {{ color = "color1", style = "curl" }} }}
"diagnostic.warning" = {{ underline = {{ color = "color3", style = "curl" }} }}
"diagnostic.info" = {{ underline = {{ color = "color6", style = "curl" }} }}
"diagnostic.hint" = {{ underline = {{ color = "color4", style = "curl" }} }}
"diagnostic.unnecessary" = {{ modifiers = ["dim"] }}
"diagnostic.deprecated" = {{ modifiers = ["crossed_out"] }}
"error" = "color1"
"warning" = "color3"
"info" = "color6"
"hint" = "color4"
"diff.plus" = "color2"
"diff.minus" = "color1"
"diff.delta" = "color3"
"markup.heading" = {{ fg = "cursor", modifiers = ["bold"] }}
"markup.list" = "color5"
"markup.bold" = {{ modifiers = ["bold"] }}
"markup.italic" = {{ modifiers = ["italic"] }}
"markup.strikethrough" = {{ modifiers = ["crossed_out"] }}
"markup.link.url" = {{ fg = "color4", modifiers = ["underlined"] }}
"markup.link.text" = "color5"
"markup.quote" = "color2"
"markup.raw" = "color2"
# Minimal syntax highlighting - only 4 colors used
"comment" = "color3" # Comments pop (yellow/bright color)
"keyword" = {{ fg = "color5", modifiers = ["italic"] }} # Keywords highlighted and italic (magenta)
"keyword.control" = {{ fg = "color5", modifiers = ["italic"] }}
"keyword.directive" = {{ fg = "color5", modifiers = ["italic"] }}
"keyword.function" = {{ fg = "color5", modifiers = ["italic"] }}
"keyword.operator" = {{ fg = "color5", modifiers = ["italic"] }}
"keyword.return" = {{ fg = "color5", modifiers = ["italic"] }}
"keyword.storage" = {{ fg = "color5", modifiers = ["italic"] }}
"string" = "color2" # Strings highlighted (green)
"string.regexp" = "color1"
"string.special" = "color2"
"constant.numeric" = "color1" # Numbers highlighted (orange/red)
"constant.builtin" = "color1"
"constant.character.escape" = "color1"
# Everything else remains plain text
"function" = "text" # Functions are plain text
"function.builtin" = "text"
"function.method" = "text"
"function.macro" = "text"
"variable" = "text" # Variables are plain text
"variable.builtin" = "text"
"variable.parameter" = "text"
"variable.other.member" = "text"
"type" = {{ fg = "cursor", modifiers = ["italic"]}} # Types are slightly highlighted
"type.builtin" = "cursor"
"constructor" = "text" # Constructors are plain text
"attribute" = "text"
"label" = "text"
"namespace" = "text"
"tag" = "text"
# Top-level declarations get accent color
"function.definition" = {{ fg = "color7", modifiers = ["bold"] }}
"type.definition" = {{ fg = "color7", modifiers = ["bold"] }}
# Punctuation is slightly dimmed but still readable
"punctuation" = "subtext0"
"punctuation.bracket" = "subtext0"
"punctuation.delimiter" = "subtext0"
"punctuation.special" = "subtext0"
"operator" = "subtext0" # Operators slightly dimmed
[palette]
# Pywal generated colors - background to foreground gradient
base = "{background}"
mantle = "{color0}"
crust = "{color0}"
surface0 = "{color8}"
surface1 = "{color8}"
surface2 = "{color7}"
overlay0 = "{color8}"
overlay1 = "{color7}"
overlay2 = "{color7}"
subtext0 = "{color7}"
subtext1 = "{color15}"
text = "{foreground}"
# Core colors from pywal palette
red = "{color1}"
color1 = "{color1}" # Red/Orange - numbers, errors
color2 = "{color2}" # Green - strings
color3 = "{color3}" # Yellow - comments
color4 = "{color4}" # Blue - info
color5 = "{color5}" # Magenta - keywords
color6 = "{color6}" # Cyan - hints
color7 = "{color7}" # Light gray - definitions
color15 = "{color15}" # Bright white
cursor = "{cursor}" # Cursor color