update highlights

This commit is contained in:
Antoine Vaure 2025-11-05 19:22:16 +01:00
parent 73ab133e5c
commit 6baee4b298
3 changed files with 71 additions and 145 deletions

View file

@ -1,133 +1,87 @@
local custom_highlights = function(C)
local U = require("catppuccin.utils.colors")
local ret = {
HopNextKey = { bg = C.text, fg = C.base, style = { "bold", "underline" } },
HopNextKey1 = { bg = C.text, fg = C.base, style = { "bold" } },
HopNextKey2 = { bg = C.text, fg = C.base, style = { "bold", "italic" } },
DiagnosticUnderlineError = { style = { "undercurl" } },
DiagnosticUnderlineWarn = { style = { "undercurl" } },
DiagnosticUnderlineInfo = { style = { "undercurl" } },
DiagnosticUnderlineHint = { style = { "undercurl" } },
DiagnosticUnderlineOk = { style = { "undercurl" } },
["@function.call"] = { fg = U.darken(C.blue, 0.5, C.text) },
-- fuuctions sigature & calls are blue
Function = { fg = C.blue, style = { "bold" } },
["@function.call"] = { fg = U.darken(C.blue, 0.5, C.text) },
["@lsp.type.function"] = { link = "@function.call" },
["@lsp.type.method"] = { link = "@function.call" },
["@lsp.type.macro"] = { link = "Macro" },
["@Keyword.directive"] = { link = "PreProc" },
-- ["@lsp.mod.definition"] = { bg = U.darken(C.green, .3, C.base) },
-- Keyword = { fg = C.black, style = { "italic" } },
Type = { fg = C.text },
--
-- syntax
Constant = { fg = C.text },
String = { fg = C.text },
Character = { fg = C.text },
Number = { fg = C.text },
Float = { fg = C.text },
Boolean = { fg = C.text },
Identifier = { fg = C.text },
-- Function = { fg = C.text },
Statement = { fg = C.text },
Conditional = { fg = C.text },
Repeat = { fg = C.text },
Label = { fg = C.text },
Operator = { fg = C.text },
Keyword = { fg = C.text },
Exception = { fg = C.text },
PreProc = { fg = C.pink },
Include = { fg = C.pink },
Define = { fg = C.pink },
Macro = { fg = C.pink },
PreCondit = { fg = C.pink },
StorageClass = { fg = C.text },
Structure = { fg = C.text },
Special = { fg = C.text },
Typedef = { fg = C.text },
SpecialChar = { fg = C.text },
Tag = { fg = C.text },
Delimiter = { fg = C.text },
Debug = { fg = C.text },
-- Types are green
-- Type = { fg = U.darken(C.green, 0.8, C.black) },
-- ["@type.python"] = { link = "Type", },
-- Comments should be important
Comment = { fg = C.mauve, style = {}};
-- differentiate between consts and mutables
variable = {},
["@lsp.mod.readonly"] = { fg = C.text },
["@variable"] = { fg = U.darken(C.red, .5, C.text) },
["@keyword.modifier"] = { fg = C.yellow, style = {"italic"}}
-- ['@parameter'] = { style = { "underline"} },
-- highly visible consts kwds
["@keyword.modifier"] = { fg = C.yellow, style = {"italic"}},
-- Underlined = { style = { "underline" } }, -- (preferred) text that stands out, HTML links
-- Bold = { style = { "bold" } },
-- Italic = { style = { "italic" } },
-- ("Ignore", below, may be invisible...)
-- Ignore = { }, -- (preferred) left blank, hidden |hl-Ignore|
-- Plugin specific
HopNextKey = { bg = C.text, fg = C.base, style = { "bold" } },
HopNextKey1 = { link = "HopNextKey" },
HopNextKey2 = { link = "HopNextKey" },
-- Error = { fg = C.red }, -- (preferred) any erroneous construct
-- Todo = { bg = C.flamingo, fg = C.base, style = { "bold" } }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX
-- qfLineNr = { fg = C.yellow },
-- qfFileName = { fg = C.blue },
-- htmlH1 = { fg = C.pink, style = { "bold" } },
-- htmlH2 = { fg = C.blue, style = { "bold" } },
-- -- mkdHeading = { fg = C.peach, style = { "bold" } },
-- -- mkdCode = { bg = C.terminal_black, fg = C.text },
-- mkdCodeDelimiter = { bg = C.base, fg = C.text },
-- mkdCodeStart = { fg = C.flamingo, style = { "bold" } },
-- mkdCodeEnd = { fg = C.flamingo, style = { "bold" } },
-- -- mkdLink = { fg = C.blue, style = { "underline" } },
--
-- -- debugging
-- debugPC = { bg = O.transparent_background and C.none or C.crust }, -- used for highlighting the current line in terminal-debug
-- debugBreakpoint = { bg = C.base, fg = C.overlay0 }, -- used for breakpoint colors in terminal-debug
-- -- illuminate
-- illuminatedWord = { bg = C.surface1 },
-- illuminatedCurWord = { bg = C.surface1 },
-- -- diff
-- diffAdded = { fg = C.green },
-- diffRemoved = { fg = C.red },
-- diffChanged = { fg = C.blue },
-- diffOldFile = { fg = C.yellow },
-- diffNewFile = { fg = C.peach },
-- diffFile = { fg = C.blue },
-- diffLine = { fg = C.overlay0 },
-- diffIndexLine = { fg = C.teal },
-- DiffAdd = { bg = U.darken(C.green, 0.18, C.base) }, -- diff mode: Added line |diff.txt|
-- DiffChange = { bg = U.darken(C.blue, 0.07, C.base) }, -- diff mode: Changed line |diff.txt|
-- DiffDelete = { bg = U.darken(C.red, 0.18, C.base) }, -- diff mode: Deleted line |diff.txt|
-- DiffText = { bg = U.darken(C.blue, 0.30, C.base) }, -- diff mode: Changed text within a changed line |diff.txt|
-- -- NeoVim
-- healthError = { fg = C.red },
-- healthSuccess = { fg = C.teal },
-- healthWarning = { fg = C.yellow },
-- -- misc
--
-- -- glyphs
-- GlyphPalette1 = { fg = C.red },
-- GlyphPalette2 = { fg = C.teal },
-- GlyphPalette3 = { fg = C.yellow },
-- GlyphPalette4 = { fg = C.blue },
-- GlyphPalette6 = { fg = C.teal },
-- GlyphPalette7 = { fg = C.text },
-- GlyphPalette9 = { fg = C.red },
--
-- -- rainbow
-- rainbow1 = { fg = C.red },
-- rainbow2 = { fg = C.peach },
-- rainbow3 = { fg = C.yellow },
-- rainbow4 = { fg = C.green },
-- rainbow5 = { fg = C.sapphire },
-- rainbow6 = { fg = C.lavender },
--
-- -- csv
-- csvCol0 = { fg = C.red },
-- csvCol1 = { fg = C.peach },
-- csvCol2 = { fg = C.yellow },
-- csvCol3 = { fg = C.green },
-- csvCol4 = { fg = C.sky },
-- csvCol5 = { fg = C.blue },
-- csvCol6 = { fg = C.lavender },
-- csvCol7 = { fg = C.mauve },
-- csvCol8 = { fg = C.pink },
}
-- base color
for _, field in ipairs({
"Constant",
"String",
"Character",
"Number",
"Float",
"Boolean",
"Identifier",
"Statement",
"Conditional",
"Repeat",
"Label",
"Operator",
"Keyword",
"Exception",
"StorageClass",
"Structure",
"Special",
"Typedef",
"SpecialChar",
"Tag",
"Delimiter",
"Debug",
}) do
ret[field] = { fg = C.text };
end
-- pink
for _, field in ipairs({
"PreProc",
"Include",
"Define",
"Macro",
"@lsp.type.macro",
"PreCondit",
"@Keyword.directive",
}) do
ret[field] = { fg = C.pink };
end
for _, field in ipairs({
"DiagnosticUnderlineError",
"DiagnosticUnderlineWarn",
"DiagnosticUnderlineInfo",
"DiagnosticUnderlineHint",
"DiagnosticUnderlineOk",
}) do
ret[field] = { style = { "undercurl" } };
end
-- for semantic coloring from ccls
local var_colors = {
U.darken(C.green, .4, C.text);
U.darken(C.lavender, .5, C.text);