# 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}}"