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

165 lines
5.5 KiB
TOML

# Pywal Semantic - Intelligent color mapping based on semantic meaning
# Colors are automatically mapped based on hue analysis:
# - Reds/oranges for errors and warnings
# - High contrast colors for comments
# - Appropriate semantic colors for syntax elements
# Colors dynamically generated from wallpaper via pywal with semantic mapping
"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 = "error_color", 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 = "keyword_color", 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 = "string_color", modifiers = ["bold"] }}
"ui.statusline.select" = {{ fg = "base", bg = "keyword_color", 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 = "error_color", style = "curl" }} }}
"diagnostic.warning" = {{ underline = {{ color = "warning_color", style = "curl" }} }}
"diagnostic.info" = {{ underline = {{ color = "info_color", style = "curl" }} }}
"diagnostic.hint" = {{ underline = {{ color = "info_color", style = "curl" }} }}
"diagnostic.unnecessary" = {{ modifiers = ["dim"] }}
"diagnostic.deprecated" = {{ modifiers = ["crossed_out"] }}
"error" = "error_color"
"warning" = "warning_color"
"info" = "info_color"
"hint" = "info_color"
"diff.plus" = "string_color"
"diff.minus" = "error_color"
"diff.delta" = "warning_color"
"markup.heading" = {{ fg = "cursor", modifiers = ["bold"] }}
"markup.list" = "keyword_color"
"markup.bold" = {{ modifiers = ["bold"] }}
"markup.italic" = {{ modifiers = ["italic"] }}
"markup.strikethrough" = {{ modifiers = ["crossed_out"] }}
"markup.link.url" = {{ fg = "info_color", modifiers = ["underlined"] }}
"markup.link.text" = "keyword_color"
"markup.quote" = "string_color"
"markup.raw" = "string_color"
# Semantic syntax highlighting
"comment" = "comment_color" # Highest contrast color for visibility
"keyword" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"keyword.control" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"keyword.directive" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"keyword.function" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"keyword.operator" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"keyword.return" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"keyword.storage" = {{ fg = "keyword_color", modifiers = ["italic"] }}
"string" = "string_color"
"string.regexp" = "error_color"
"string.special" = "string_color"
"constant.numeric" = "number_color"
"constant.builtin" = "number_color"
"constant.character.escape" = "number_color"
# Everything else remains plain text
"function" = "text"
"function.builtin" = "text"
"function.method" = "text"
"function.macro" = "text"
"variable" = "text"
"variable.builtin" = "text"
"variable.parameter" = "text"
"variable.other.member" = "text"
"type" = {{ fg = "cursor", modifiers = ["italic"]}}
"type.builtin" = "cursor"
"constructor" = "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"
[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}"
color2 = "{color2}"
color3 = "{color3}"
color4 = "{color4}"
color5 = "{color5}"
color6 = "{color6}"
color7 = "{color7}"
color15 = "{color15}"
cursor = "{cursor}"
# Semantic colors (will be replaced by color_mapper.py)
error_color = "{{ERROR_COLOR}}"
warning_color = "{{WARNING_COLOR}}"
comment_color = "{{COMMENT_COLOR}}"
string_color = "{{STRING_COLOR}}"
keyword_color = "{{KEYWORD_COLOR}}"
number_color = "{{NUMBER_COLOR}}"
info_color = "{{INFO_COLOR}}"