162 lines
7.8 KiB
Lua
162 lines
7.8 KiB
Lua
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) },
|
|
Function = { fg = C.blue, style = { "bold" } },
|
|
["@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 },
|
|
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"} },
|
|
|
|
-- 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|
|
|
|
|
-- 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 },
|
|
}
|
|
|
|
local var_colors = {
|
|
U.darken(C.green, .4, C.text);
|
|
U.darken(C.lavender, .5, C.text);
|
|
U.darken(C.peach, .5, C.text);
|
|
U.darken(C.yellow, .6, C.text);
|
|
U.darken(C.green, .7, C.text);
|
|
U.darken(C.mauve, .8, C.text);
|
|
U.darken(C.teal, .3, C.text);
|
|
U.darken(C.teal, .5, C.text);
|
|
U.darken(C.teal, .7, C.text);
|
|
U.darken(C.red, .3, C.text);
|
|
U.darken(C.red, .5, C.text);
|
|
U.darken(C.red, .7, C.text);
|
|
}
|
|
|
|
local all_colors = {
|
|
variable = var_colors
|
|
}
|
|
|
|
for type, colors in pairs(all_colors) do
|
|
for i = 1, #colors do
|
|
for _, lang in pairs({ 'cpp' }) do
|
|
local k = string.format('@lsp.typemod.%s.id%s.%s', type, i - 1, lang)
|
|
ret[k] = { fg = colors[i] }
|
|
end
|
|
end
|
|
end
|
|
|
|
return ret
|
|
end
|
|
|
|
return custom_highlights
|