# Catppuccin Macchiato Minimal - Judicious Syntax Highlighting
# Uses only 4 colors for syntax: lavender (keywords), green (strings), peach (numbers), mauve (comments)
# Functions and variables remain plain text for reduced visual noise

"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" = { bg = "surface1" }
"ui.selection.primary" = { bg = "surface2" }

"ui.cursor" = { fg = "base", bg = "lavender" }
"ui.cursor.primary" = { fg = "base", bg = "lavender" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursorline.primary" = { bg = "surface0" }
"ui.cursorcolumn.primary" = { bg = "surface0" }

"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender", modifiers = ["bold"] }

"ui.statusline" = { fg = "text", bg = "mantle" }
"ui.statusline.inactive" = { fg = "overlay0", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "mauve", modifiers = ["bold"] }

"ui.bufferline" = { fg = "overlay0", bg = "mantle" }
"ui.bufferline.active" = { fg = "lavender", 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 = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
"diagnostic.unnecessary" = { modifiers = ["dim"] }
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }

"error" = "red"
"warning" = "yellow"
"info" = "sky"
"hint" = "teal"

"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "yellow"

"markup.heading" = { fg = "lavender", modifiers = ["bold"] }
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
"markup.link.text" = "mauve"
"markup.quote" = "green"
"markup.raw" = "green"

# Minimal syntax highlighting - only 4 colors used
"comment" = "yellow"  # Comments pop

"keyword" = { fg = "mauve", modifiers = ["italic"] }  # Keywords highlighted and italic
"keyword.control" = { fg = "mauve", modifiers = ["italic"] }
"keyword.directive" = { fg = "mauve", modifiers = ["italic"] }
"keyword.function" = { fg = "mauve", modifiers = ["italic"] }
"keyword.operator" = { fg = "mauve", modifiers = ["italic"] }
"keyword.return" = { fg = "mauve", modifiers = ["italic"] }
"keyword.storage" = { fg = "mauve", modifiers = ["italic"] }

"string" = "green"                          # Strings highlighted
"string.regexp" = "peach"
"string.special" = "green"

"constant.numeric" = "peach"                # Numbers highlighted
"constant.builtin" = "peach"
"constant.character.escape" = "peach"

# 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" = "lavender"                            # Types are slightly highlighted
"type.builtin" = "lavender"

"constructor" = "text"                      # Constructors are plain text

"attribute" = "text"
"label" = "text"
"namespace" = "text"
"tag" = "text"

# Top-level declarations get keyword color
"function.definition" = { fg = "flamingo", modifiers = ["bold"] }
"type.definition" = { fg = "flamingo", 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]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"
