|
|
|
@@ -0,0 +1,432 @@
|
|
|
|
|
-- Generated by zshell. Material 3 based Neovim colorscheme.
|
|
|
|
|
-- This file is a Jinja template rendered by zshell.
|
|
|
|
|
|
|
|
|
|
vim.g.colors_name = nil
|
|
|
|
|
vim.o.background = "dark"
|
|
|
|
|
|
|
|
|
|
vim.cmd("highlight clear")
|
|
|
|
|
if vim.fn.exists("syntax_on") == 1 then
|
|
|
|
|
vim.cmd("syntax reset")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
vim.g.colors_name = "zshell"
|
|
|
|
|
vim.o.termguicolors = true
|
|
|
|
|
|
|
|
|
|
local set = vim.api.nvim_set_hl
|
|
|
|
|
local function hl(group, opts)
|
|
|
|
|
set(0, group, opts)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local function link(from, to)
|
|
|
|
|
hl(from, { link = to })
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local is_light = "dark" == "light"
|
|
|
|
|
local function pick(light, dark)
|
|
|
|
|
return is_light and light or dark
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local c = {
|
|
|
|
|
bg = "#1A1206",
|
|
|
|
|
bg_alt = "#231A0D",
|
|
|
|
|
bg_float = "#271E11",
|
|
|
|
|
bg_popup = "#32291A",
|
|
|
|
|
bg_cursorline = pick("#32291A", "#3D3324"),
|
|
|
|
|
bg_fold = "#231A0D",
|
|
|
|
|
bg_visual = "#733429",
|
|
|
|
|
bg_search = pick("#B5893E", "#733429"),
|
|
|
|
|
bg_incsearch = "#7D2C1E",
|
|
|
|
|
bg_selection = "#7D2C1E",
|
|
|
|
|
bg_statusline = pick("#32291A", "#271E11"),
|
|
|
|
|
bg_statusline_nc = "#231A0D",
|
|
|
|
|
bg_tabline = "#231A0D",
|
|
|
|
|
bg_tabsel = "#32291A",
|
|
|
|
|
|
|
|
|
|
fg = "#F1E0CA",
|
|
|
|
|
fg_muted = "#DBC3A1",
|
|
|
|
|
fg_subtle = "#A38E6E",
|
|
|
|
|
fg_comment = pick("#A38E6E", "#55442A"),
|
|
|
|
|
fg_strong = pick("#1A1B1F", "#F2F2F7"),
|
|
|
|
|
fg_on_soft = pick("#17181C", "#F4F4F8"),
|
|
|
|
|
|
|
|
|
|
border = "#55442A",
|
|
|
|
|
accent = "#FFB4A6",
|
|
|
|
|
accent_container = "#7D2C1E",
|
|
|
|
|
accent_fg = "#FFDAD4",
|
|
|
|
|
accent_solid_fg = "#5F150A",
|
|
|
|
|
|
|
|
|
|
secondary = "#FFB4A6",
|
|
|
|
|
secondary_container = "#733429",
|
|
|
|
|
secondary_fg = "#FFDAD4",
|
|
|
|
|
secondary_solid_fg = "#561E15",
|
|
|
|
|
|
|
|
|
|
tertiary = "#F0BE6D",
|
|
|
|
|
tertiary_container = "#B5893E",
|
|
|
|
|
tertiary_fg = "#000000",
|
|
|
|
|
tertiary_solid_fg = "#432C00",
|
|
|
|
|
|
|
|
|
|
error = "#FFB4AB",
|
|
|
|
|
error_container = "#93000A",
|
|
|
|
|
error_fg = "#FFDAD6",
|
|
|
|
|
error_solid_fg = "#690005",
|
|
|
|
|
|
|
|
|
|
ok = "#FFBD9D",
|
|
|
|
|
warn = "#FFDFD5",
|
|
|
|
|
info = "#B9AB66",
|
|
|
|
|
hint = "#FFBA8D",
|
|
|
|
|
add = "#FFBD9D",
|
|
|
|
|
change = "#B9AB66",
|
|
|
|
|
delete = "#FF563E",
|
|
|
|
|
|
|
|
|
|
cursor_fg = "#5F150A",
|
|
|
|
|
cursor_bg = "#FFB4A6",
|
|
|
|
|
match_bg = "#B5893E",
|
|
|
|
|
match_fg = "#000000",
|
|
|
|
|
todo_bg = "#B5893E",
|
|
|
|
|
todo_fg = "#000000",
|
|
|
|
|
|
|
|
|
|
-- Syntax accents must stay dynamic. These come from your generated palette
|
|
|
|
|
-- instead of fixed hex values, so foregrounds change with the wallpaper too.
|
|
|
|
|
code_keyword = "#F18F8A",
|
|
|
|
|
code_func = "#FFBA8D",
|
|
|
|
|
code_string = "#FFBD9D",
|
|
|
|
|
code_number = "#FFDFD5",
|
|
|
|
|
code_const = "#FF563E",
|
|
|
|
|
code_type = "#FFB4A6",
|
|
|
|
|
code_special = "#F0BE6D",
|
|
|
|
|
code_preproc = "#FFB4A6",
|
|
|
|
|
code_builtin = "#FFB4A6",
|
|
|
|
|
code_param = "#FFDFD5",
|
|
|
|
|
code_field = "#FFB4A6",
|
|
|
|
|
code_namespace = "#F0BE6D",
|
|
|
|
|
code_operator = pick("#FFB4A6", "#FFB4A6"),
|
|
|
|
|
|
|
|
|
|
line_current = pick("#232428", "#E7E7EC"),
|
|
|
|
|
ref_bg = pick("#3D3324", "#32291A"),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- Core UI -------------------------------------------------------------------
|
|
|
|
|
hl("Normal", { fg = c.fg, bg = c.bg })
|
|
|
|
|
hl("NormalNC", { fg = c.fg, bg = c.bg })
|
|
|
|
|
hl("NormalFloat", { fg = c.fg, bg = c.bg_float })
|
|
|
|
|
hl("FloatBorder", { fg = c.border, bg = c.bg_float })
|
|
|
|
|
hl("FloatTitle", { fg = c.accent, bg = c.bg_float, bold = true })
|
|
|
|
|
hl("FloatFooter", { fg = c.fg_muted, bg = c.bg_float })
|
|
|
|
|
hl("WinSeparator", { fg = c.border, bg = "NONE" })
|
|
|
|
|
link("VertSplit", "WinSeparator")
|
|
|
|
|
|
|
|
|
|
hl("Cursor", { fg = c.cursor_fg, bg = c.cursor_bg })
|
|
|
|
|
link("lCursor", "Cursor")
|
|
|
|
|
link("CursorIM", "Cursor")
|
|
|
|
|
link("TermCursor", "Cursor")
|
|
|
|
|
|
|
|
|
|
hl("CursorLine", { bg = c.bg_cursorline })
|
|
|
|
|
hl("CursorColumn", { bg = c.bg_cursorline })
|
|
|
|
|
hl("ColorColumn", { bg = c.bg_alt })
|
|
|
|
|
|
|
|
|
|
hl("LineNr", { fg = c.fg_subtle, bg = c.bg })
|
|
|
|
|
hl("LineNrAbove", { fg = c.fg_subtle, bg = c.bg })
|
|
|
|
|
hl("LineNrBelow", { fg = c.fg_subtle, bg = c.bg })
|
|
|
|
|
hl("CursorLineNr", { fg = c.line_current, bg = c.bg_cursorline, bold = true })
|
|
|
|
|
|
|
|
|
|
hl("SignColumn", { fg = c.fg_muted, bg = c.bg })
|
|
|
|
|
hl("FoldColumn", { fg = c.fg_muted, bg = c.bg })
|
|
|
|
|
hl("Folded", { fg = c.fg_muted, bg = c.bg_fold, italic = true })
|
|
|
|
|
|
|
|
|
|
hl("NonText", { fg = c.border, bg = "NONE" })
|
|
|
|
|
link("EndOfBuffer", "NonText")
|
|
|
|
|
hl("Whitespace", { fg = c.border, bg = "NONE" })
|
|
|
|
|
hl("SpecialKey", { fg = c.border, bg = "NONE" })
|
|
|
|
|
|
|
|
|
|
hl("Visual", { bg = c.bg_visual })
|
|
|
|
|
link("VisualNOS", "Visual")
|
|
|
|
|
hl("Search", { fg = c.tertiary_fg, bg = c.bg_search })
|
|
|
|
|
hl("CurSearch", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true })
|
|
|
|
|
link("IncSearch", "CurSearch")
|
|
|
|
|
hl("Substitute", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true })
|
|
|
|
|
hl("MatchParen", { fg = c.match_fg, bg = c.match_bg, bold = true })
|
|
|
|
|
|
|
|
|
|
hl("Pmenu", { fg = c.fg, bg = c.bg_popup })
|
|
|
|
|
hl("PmenuSel", { fg = c.fg_on_soft, bg = c.bg_selection, bold = true })
|
|
|
|
|
hl("PmenuKind", { fg = c.secondary, bg = c.bg_popup })
|
|
|
|
|
hl("PmenuKindSel", { fg = c.fg_on_soft, bg = c.secondary_container, bold = true })
|
|
|
|
|
hl("PmenuExtra", { fg = c.fg_muted, bg = c.bg_popup })
|
|
|
|
|
hl("PmenuExtraSel", { fg = c.fg_on_soft, bg = c.bg_selection })
|
|
|
|
|
hl("PmenuSbar", { bg = c.bg_alt })
|
|
|
|
|
hl("PmenuThumb", { bg = c.border })
|
|
|
|
|
hl("PmenuMatch", { fg = c.accent, bg = c.bg_popup, bold = true })
|
|
|
|
|
hl("PmenuMatchSel", { fg = c.accent, bg = c.bg_selection, bold = true })
|
|
|
|
|
hl("PmenuBorder", { fg = c.border, bg = c.bg_popup })
|
|
|
|
|
|
|
|
|
|
hl("StatusLine", { fg = c.fg_strong, bg = c.bg_statusline })
|
|
|
|
|
hl("StatusLineNC", { fg = c.fg_muted, bg = c.bg_statusline_nc })
|
|
|
|
|
link("StatusLineTerm", "StatusLine")
|
|
|
|
|
link("StatusLineTermNC", "StatusLineNC")
|
|
|
|
|
hl("TabLine", { fg = c.fg_muted, bg = c.bg_tabline })
|
|
|
|
|
hl("TabLineFill", { bg = c.bg_tabline })
|
|
|
|
|
hl("TabLineSel", { fg = c.fg_on_soft, bg = c.accent_container, bold = true })
|
|
|
|
|
hl("WinBar", { fg = c.fg, bg = c.bg })
|
|
|
|
|
hl("WinBarNC", { fg = c.fg_muted, bg = c.bg })
|
|
|
|
|
|
|
|
|
|
hl("Directory", { fg = c.accent, bg = "NONE" })
|
|
|
|
|
hl("Title", { fg = c.accent, bg = "NONE", bold = true })
|
|
|
|
|
hl("Question", { fg = c.secondary, bg = "NONE", bold = true })
|
|
|
|
|
hl("ModeMsg", { fg = c.accent, bg = "NONE", bold = true })
|
|
|
|
|
hl("MoreMsg", { fg = c.info, bg = "NONE", bold = true })
|
|
|
|
|
hl("ErrorMsg", { fg = c.error, bg = "NONE", bold = true })
|
|
|
|
|
hl("WarningMsg", { fg = c.warn, bg = "NONE", bold = true })
|
|
|
|
|
hl("OkMsg", { fg = c.ok, bg = "NONE", bold = true })
|
|
|
|
|
hl("QuickFixLine", { bg = c.bg_selection, bold = true })
|
|
|
|
|
|
|
|
|
|
-- Diffs ---------------------------------------------------------------------
|
|
|
|
|
hl("DiffAdd", { fg = c.add, bg = c.bg_alt })
|
|
|
|
|
hl("DiffChange", { fg = c.change, bg = c.bg_alt })
|
|
|
|
|
hl("DiffDelete", { fg = c.delete, bg = c.bg_alt })
|
|
|
|
|
hl("DiffText", { fg = c.fg_on_soft, bg = c.accent_container, bold = true })
|
|
|
|
|
link("DiffTextAdd", "DiffText")
|
|
|
|
|
hl("Added", { fg = c.add })
|
|
|
|
|
hl("Changed", { fg = c.change })
|
|
|
|
|
hl("Removed", { fg = c.delete })
|
|
|
|
|
|
|
|
|
|
-- Standard syntax groups ----------------------------------------------------
|
|
|
|
|
hl("Comment", { fg = c.fg_comment, italic = true })
|
|
|
|
|
hl("Constant", { fg = c.code_const })
|
|
|
|
|
hl("String", { fg = c.code_string })
|
|
|
|
|
hl("Character", { fg = c.code_string })
|
|
|
|
|
hl("Number", { fg = c.code_number })
|
|
|
|
|
hl("Boolean", { fg = c.code_number, bold = true })
|
|
|
|
|
hl("Float", { fg = c.code_number })
|
|
|
|
|
|
|
|
|
|
hl("Identifier", { fg = c.fg })
|
|
|
|
|
hl("Function", { fg = c.code_func, bold = true })
|
|
|
|
|
|
|
|
|
|
hl("Statement", { fg = c.code_keyword, bold = true })
|
|
|
|
|
link("Conditional", "Statement")
|
|
|
|
|
link("Repeat", "Statement")
|
|
|
|
|
link("Label", "Statement")
|
|
|
|
|
hl("Operator", { fg = c.code_operator })
|
|
|
|
|
hl("Keyword", { fg = c.code_keyword, italic = true })
|
|
|
|
|
link("Exception", "Statement")
|
|
|
|
|
|
|
|
|
|
hl("PreProc", { fg = c.code_preproc })
|
|
|
|
|
link("Include", "PreProc")
|
|
|
|
|
link("Define", "PreProc")
|
|
|
|
|
link("Macro", "PreProc")
|
|
|
|
|
link("PreCondit", "PreProc")
|
|
|
|
|
|
|
|
|
|
hl("Type", { fg = c.code_type, bold = true })
|
|
|
|
|
link("StorageClass", "Type")
|
|
|
|
|
link("Structure", "Type")
|
|
|
|
|
link("Typedef", "Type")
|
|
|
|
|
|
|
|
|
|
hl("Special", { fg = c.code_special })
|
|
|
|
|
link("SpecialChar", "Special")
|
|
|
|
|
link("Tag", "Special")
|
|
|
|
|
hl("Delimiter", { fg = c.fg_muted })
|
|
|
|
|
link("SpecialComment", "Special")
|
|
|
|
|
link("Debug", "Special")
|
|
|
|
|
|
|
|
|
|
hl("Underlined", { fg = c.accent, underline = true })
|
|
|
|
|
hl("Todo", { fg = c.todo_fg, bg = c.todo_bg, bold = true })
|
|
|
|
|
hl("Error", { fg = c.error, bold = true })
|
|
|
|
|
|
|
|
|
|
-- Spell ---------------------------------------------------------------------
|
|
|
|
|
hl("SpellBad", { sp = c.error, undercurl = true })
|
|
|
|
|
hl("SpellCap", { sp = c.info, undercurl = true })
|
|
|
|
|
hl("SpellLocal", { sp = c.hint, undercurl = true })
|
|
|
|
|
hl("SpellRare", { sp = c.secondary, undercurl = true })
|
|
|
|
|
|
|
|
|
|
-- Diagnostics ---------------------------------------------------------------
|
|
|
|
|
hl("DiagnosticError", { fg = c.error })
|
|
|
|
|
hl("DiagnosticWarn", { fg = c.warn })
|
|
|
|
|
hl("DiagnosticInfo", { fg = c.info })
|
|
|
|
|
hl("DiagnosticHint", { fg = c.hint })
|
|
|
|
|
hl("DiagnosticOk", { fg = c.ok })
|
|
|
|
|
|
|
|
|
|
hl("DiagnosticUnderlineError", { sp = c.error, undercurl = true })
|
|
|
|
|
hl("DiagnosticUnderlineWarn", { sp = c.warn, undercurl = true })
|
|
|
|
|
hl("DiagnosticUnderlineInfo", { sp = c.info, undercurl = true })
|
|
|
|
|
hl("DiagnosticUnderlineHint", { sp = c.hint, undercurl = true })
|
|
|
|
|
hl("DiagnosticUnderlineOk", { sp = c.ok, undercurl = true })
|
|
|
|
|
|
|
|
|
|
link("DiagnosticSignError", "DiagnosticError")
|
|
|
|
|
link("DiagnosticSignWarn", "DiagnosticWarn")
|
|
|
|
|
link("DiagnosticSignInfo", "DiagnosticInfo")
|
|
|
|
|
link("DiagnosticSignHint", "DiagnosticHint")
|
|
|
|
|
link("DiagnosticSignOk", "DiagnosticOk")
|
|
|
|
|
|
|
|
|
|
link("DiagnosticFloatingError", "DiagnosticError")
|
|
|
|
|
link("DiagnosticFloatingWarn", "DiagnosticWarn")
|
|
|
|
|
link("DiagnosticFloatingInfo", "DiagnosticInfo")
|
|
|
|
|
link("DiagnosticFloatingHint", "DiagnosticHint")
|
|
|
|
|
link("DiagnosticFloatingOk", "DiagnosticOk")
|
|
|
|
|
|
|
|
|
|
hl("DiagnosticVirtualTextError", { fg = c.error, bg = c.error_container })
|
|
|
|
|
hl("DiagnosticVirtualTextWarn", { fg = c.warn, bg = c.bg_alt })
|
|
|
|
|
hl("DiagnosticVirtualTextInfo", { fg = c.info, bg = c.bg_alt })
|
|
|
|
|
hl("DiagnosticVirtualTextHint", { fg = c.hint, bg = c.bg_alt })
|
|
|
|
|
hl("DiagnosticVirtualTextOk", { fg = c.ok, bg = c.bg_alt })
|
|
|
|
|
|
|
|
|
|
link("DiagnosticVirtualLinesError", "DiagnosticVirtualTextError")
|
|
|
|
|
link("DiagnosticVirtualLinesWarn", "DiagnosticVirtualTextWarn")
|
|
|
|
|
link("DiagnosticVirtualLinesInfo", "DiagnosticVirtualTextInfo")
|
|
|
|
|
link("DiagnosticVirtualLinesHint", "DiagnosticVirtualTextHint")
|
|
|
|
|
link("DiagnosticVirtualLinesOk", "DiagnosticVirtualTextOk")
|
|
|
|
|
|
|
|
|
|
hl("DiagnosticDeprecated", { fg = c.fg_muted, strikethrough = true })
|
|
|
|
|
hl("DiagnosticUnnecessary", { fg = c.fg_muted, italic = true })
|
|
|
|
|
|
|
|
|
|
-- LSP reference/inlay/codelens ---------------------------------------------
|
|
|
|
|
hl("LspReferenceText", { bg = c.ref_bg })
|
|
|
|
|
hl("LspReferenceRead", { bg = c.ref_bg })
|
|
|
|
|
hl("LspReferenceWrite", { bg = c.ref_bg, sp = c.accent, undercurl = true })
|
|
|
|
|
hl("LspReferenceTarget", { fg = c.accent, bg = c.ref_bg, bold = true })
|
|
|
|
|
hl("LspInlayHint", { fg = c.fg_muted, bg = c.bg_alt, italic = true })
|
|
|
|
|
hl("LspCodeLens", { fg = c.fg_muted, italic = true })
|
|
|
|
|
hl("LspCodeLensSeparator", { fg = c.border })
|
|
|
|
|
hl("LspSignatureActiveParameter", { fg = c.accent, bold = true, underline = true })
|
|
|
|
|
|
|
|
|
|
-- Treesitter captures -------------------------------------------------------
|
|
|
|
|
link("@comment", "Comment")
|
|
|
|
|
link("@comment.documentation", "Comment")
|
|
|
|
|
link("@comment.todo", "Todo")
|
|
|
|
|
link("@comment.error", "DiagnosticError")
|
|
|
|
|
link("@comment.warning", "DiagnosticWarn")
|
|
|
|
|
link("@comment.note", "DiagnosticInfo")
|
|
|
|
|
|
|
|
|
|
link("@constant", "Constant")
|
|
|
|
|
hl("@constant.builtin", { fg = c.code_builtin, italic = true, bold = true })
|
|
|
|
|
hl("@constant.macro", { fg = c.code_preproc, bold = true })
|
|
|
|
|
link("@string", "String")
|
|
|
|
|
hl("@string.escape", { fg = c.code_special, bold = true })
|
|
|
|
|
link("@string.regex", "Special")
|
|
|
|
|
link("@character", "Character")
|
|
|
|
|
link("@number", "Number")
|
|
|
|
|
link("@boolean", "Boolean")
|
|
|
|
|
link("@float", "Float")
|
|
|
|
|
|
|
|
|
|
link("@variable", "Identifier")
|
|
|
|
|
hl("@variable.builtin", { fg = c.code_builtin, italic = true, bold = true })
|
|
|
|
|
hl("@variable.parameter", { fg = c.code_param, italic = true })
|
|
|
|
|
hl("@variable.member", { fg = c.code_field })
|
|
|
|
|
hl("@property", { fg = c.code_field })
|
|
|
|
|
hl("@field", { fg = c.code_field })
|
|
|
|
|
|
|
|
|
|
link("@function", "Function")
|
|
|
|
|
hl("@function.builtin", { fg = c.code_builtin, bold = true })
|
|
|
|
|
link("@function.call", "Function")
|
|
|
|
|
hl("@function.method", { fg = c.code_func })
|
|
|
|
|
hl("@function.method.call", { fg = c.code_func })
|
|
|
|
|
hl("@constructor", { fg = c.code_type, bold = true })
|
|
|
|
|
|
|
|
|
|
link("@keyword", "Keyword")
|
|
|
|
|
hl("@keyword.function", { fg = c.code_keyword, bold = true })
|
|
|
|
|
hl("@keyword.operator", { fg = c.code_operator })
|
|
|
|
|
link("@keyword.return", "Keyword")
|
|
|
|
|
link("@conditional", "Conditional")
|
|
|
|
|
link("@repeat", "Repeat")
|
|
|
|
|
link("@label", "Label")
|
|
|
|
|
link("@operator", "Operator")
|
|
|
|
|
link("@exception", "Exception")
|
|
|
|
|
|
|
|
|
|
link("@preproc", "PreProc")
|
|
|
|
|
link("@include", "Include")
|
|
|
|
|
link("@define", "Define")
|
|
|
|
|
link("@macro", "Macro")
|
|
|
|
|
|
|
|
|
|
link("@type", "Type")
|
|
|
|
|
hl("@type.builtin", { fg = c.code_type, italic = true, bold = true })
|
|
|
|
|
link("@type.definition", "Type")
|
|
|
|
|
hl("@attribute", { fg = c.code_preproc })
|
|
|
|
|
hl("@module", { fg = c.code_namespace })
|
|
|
|
|
hl("@namespace", { fg = c.code_namespace })
|
|
|
|
|
|
|
|
|
|
link("@punctuation.delimiter", "Delimiter")
|
|
|
|
|
link("@punctuation.bracket", "Delimiter")
|
|
|
|
|
hl("@punctuation.special", { fg = c.code_special })
|
|
|
|
|
link("@tag", "Tag")
|
|
|
|
|
hl("@tag.attribute", { fg = c.code_field })
|
|
|
|
|
link("@tag.delimiter", "Delimiter")
|
|
|
|
|
|
|
|
|
|
-- LSP semantic token families ----------------------------------------------
|
|
|
|
|
link("@lsp.type.class", "@type")
|
|
|
|
|
link("@lsp.type.comment", "@comment")
|
|
|
|
|
link("@lsp.type.decorator", "@attribute")
|
|
|
|
|
link("@lsp.type.enum", "@type")
|
|
|
|
|
link("@lsp.type.enumMember", "@constant")
|
|
|
|
|
link("@lsp.type.event", "@property")
|
|
|
|
|
link("@lsp.type.function", "@function")
|
|
|
|
|
link("@lsp.type.interface", "@type")
|
|
|
|
|
link("@lsp.type.keyword", "@keyword")
|
|
|
|
|
link("@lsp.type.macro", "@macro")
|
|
|
|
|
link("@lsp.type.method", "@function.method")
|
|
|
|
|
link("@lsp.type.modifier", "@keyword")
|
|
|
|
|
link("@lsp.type.namespace", "@namespace")
|
|
|
|
|
link("@lsp.type.number", "@number")
|
|
|
|
|
link("@lsp.type.operator", "@operator")
|
|
|
|
|
link("@lsp.type.parameter", "@variable.parameter")
|
|
|
|
|
link("@lsp.type.property", "@property")
|
|
|
|
|
link("@lsp.type.regexp", "@string.regex")
|
|
|
|
|
link("@lsp.type.string", "@string")
|
|
|
|
|
link("@lsp.type.struct", "@type")
|
|
|
|
|
link("@lsp.type.type", "@type")
|
|
|
|
|
link("@lsp.type.typeParameter", "@type")
|
|
|
|
|
link("@lsp.type.variable", "@variable")
|
|
|
|
|
|
|
|
|
|
hl("@lsp.mod.deprecated", { strikethrough = true })
|
|
|
|
|
link("@lsp.mod.readonly", "Constant")
|
|
|
|
|
link("@lsp.typemod.variable.readonly", "Constant")
|
|
|
|
|
|
|
|
|
|
-- Common plugin aliases -----------------------------------------------------
|
|
|
|
|
hl("GitSignsAdd", { fg = c.add, bg = c.bg })
|
|
|
|
|
hl("GitSignsChange", { fg = c.change, bg = c.bg })
|
|
|
|
|
hl("GitSignsDelete", { fg = c.delete, bg = c.bg })
|
|
|
|
|
|
|
|
|
|
hl("MiniIndentscopeSymbol", { fg = c.border, nocombine = true })
|
|
|
|
|
hl("IblIndent", { fg = c.border, nocombine = true })
|
|
|
|
|
hl("IblScope", { fg = c.fg_muted, nocombine = true })
|
|
|
|
|
|
|
|
|
|
link("TelescopeNormal", "NormalFloat")
|
|
|
|
|
link("TelescopeBorder", "FloatBorder")
|
|
|
|
|
link("TelescopeTitle", "FloatTitle")
|
|
|
|
|
link("TelescopeSelection", "PmenuSel")
|
|
|
|
|
hl("TelescopeMatching", { fg = c.accent, bold = true })
|
|
|
|
|
|
|
|
|
|
-- Snacks.nvim picker / explorer --------------------------------------------
|
|
|
|
|
hl("SnacksPicker", { fg = c.fg, bg = c.bg })
|
|
|
|
|
hl("SnacksPickerBorder", { fg = c.border, bg = c.bg })
|
|
|
|
|
hl("SnacksPickerBoxBorder", { fg = c.border, bg = c.bg_alt })
|
|
|
|
|
hl("SnacksPickerTitle", { fg = c.accent, bg = c.bg_alt, bold = true })
|
|
|
|
|
|
|
|
|
|
hl("SnacksPickerInput", { fg = c.fg, bg = c.bg_alt })
|
|
|
|
|
hl("SnacksPickerInputBorder", { fg = c.border, bg = c.bg_alt })
|
|
|
|
|
hl("SnacksPickerInputTitle", { fg = c.accent, bg = c.bg_alt, bold = true })
|
|
|
|
|
hl("SnacksPickerInputSearch", { fg = c.accent, bg = c.bg_alt, bold = true })
|
|
|
|
|
hl("SnacksPickerPrompt", { fg = c.accent, bg = c.bg_alt, bold = true })
|
|
|
|
|
|
|
|
|
|
hl("SnacksPickerList", { fg = c.fg, bg = c.bg })
|
|
|
|
|
hl("SnacksPickerListBorder", { fg = c.border, bg = c.bg })
|
|
|
|
|
hl("SnacksPickerListTitle", { fg = c.secondary, bg = c.bg, bold = true })
|
|
|
|
|
hl("SnacksPickerListCursorLine", { bg = c.bg_cursorline })
|
|
|
|
|
|
|
|
|
|
hl("SnacksPickerPreview", { fg = c.fg, bg = c.bg_float })
|
|
|
|
|
hl("SnacksPickerPreviewBorder", { fg = c.border, bg = c.bg_float })
|
|
|
|
|
hl("SnacksPickerPreviewTitle", { fg = c.tertiary, bg = c.bg_float, bold = true })
|
|
|
|
|
|
|
|
|
|
hl("SnacksPickerMatch", { fg = c.accent, bold = true })
|
|
|
|
|
hl("SnacksPickerFile", { fg = c.fg })
|
|
|
|
|
hl("SnacksPickerDir", { fg = c.secondary })
|
|
|
|
|
hl("SnacksPickerPathHidden", { fg = c.fg_muted })
|
|
|
|
|
hl("SnacksPickerPathIgnored", { fg = c.fg_subtle, italic = true })
|
|
|
|
|
hl("SnacksPickerPathExcluded", { fg = c.fg_subtle, italic = true })
|
|
|
|
|
|
|
|
|
|
hl("SnacksPickerGitStatusAdded", { fg = c.add })
|
|
|
|
|
hl("SnacksPickerGitStatusModified", { fg = c.change })
|
|
|
|
|
hl("SnacksPickerGitStatusDeleted", { fg = c.delete })
|
|
|
|
|
hl("SnacksPickerGitStatusRenamed", { fg = c.info })
|
|
|
|
|
hl("SnacksPickerGitStatusCopied", { fg = c.info })
|
|
|
|
|
hl("SnacksPickerGitStatusUntracked", { fg = c.hint })
|
|
|
|
|
hl("SnacksPickerGitStatusIgnored", { fg = c.fg_subtle })
|
|
|
|
|
hl("SnacksPickerGitStatusStaged", { fg = c.ok })
|
|
|
|
|
|
|
|
|
|
return c
|