165 lines
5.5 KiB
TOML
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}}"
|