diff --git a/dist/nvim/colors/apex-aeon.lua b/dist/nvim/colors/apex-aeon.lua index 7db2470..0ea0f52 100644 --- a/dist/nvim/colors/apex-aeon.lua +++ b/dist/nvim/colors/apex-aeon.lua @@ -16,7 +16,8 @@ M.palette = { -- The Hunter (Presence) razor = "#ff0044", -- PRIMARY: Cursor, Current Match, Active Border - alert = "#ff4d6d", -- ERROR: Readable text on Red + ink = "#0a0a0a", -- Text color on Razor backgrounds + alert = "#ff0044", -- Error accent text on void/panel -- The HUD (Data) tech = "#007a88", -- INFO: Selection, Search Match, Constants @@ -43,14 +44,19 @@ function M.load() NormalNC = { fg = p.dim, bg = p.void }, -- Non-focused windows SignColumn = { bg = p.void }, FoldColumn = { fg = p.stealth, bg = p.void }, - VertSplit = { fg = p.razor }, -- Deprecated in nvim 0.10, but good fallback - WinSeparator = { fg = p.razor }, -- The Cage (Red Borders) + VertSplit = { fg = p.border }, -- Deprecated in nvim 0.10, but good fallback + WinSeparator = { fg = p.border }, EndOfBuffer = { fg = p.void }, -- Hide tildes + NormalFloat = { fg = p.text, bg = p.panel }, + FloatBorder = { fg = p.border, bg = p.panel }, + MsgArea = { fg = p.text, bg = p.void }, -- CURSOR & NAVIGATION ("The Hunter") ------------------------------------ - Cursor = { fg = p.void, bg = p.razor }, -- Red Beam - TermCursor = { fg = p.void, bg = p.razor }, + Cursor = { fg = p.ink, bg = p.razor }, -- Red Beam + TermCursor = { fg = p.ink, bg = p.razor }, CursorLine = { bg = p.panel }, + CursorColumn = { bg = p.panel }, + ColorColumn = { bg = p.panel }, CursorLineNr = { fg = p.razor, bold = true }, -- Red Line Number (You are here) LineNr = { fg = p.stealth }, -- Other lines fade out @@ -59,17 +65,21 @@ function M.load() VisualNOS = { fg = p.void, bg = p.border }, Search = { fg = p.void, bg = p.tech }, -- Cyan (Potential Targets) - IncSearch = { fg = p.void, bg = p.razor }, -- Red (Acquiring...) - CurSearch = { fg = p.void, bg = p.razor, bold = true }, -- Red (Target Locked) + IncSearch = { fg = p.ink, bg = p.razor }, -- Red (Acquiring...) + CurSearch = { fg = p.ink, bg = p.razor, bold = true }, -- Red (Target Locked) -- STATUS & MESSAGES ----------------------------------------------------- StatusLine = { fg = p.text, bg = p.panel }, StatusLineNC = { fg = p.dim, bg = p.void }, WildMenu = { fg = p.void, bg = p.tech }, Pmenu = { fg = p.text, bg = p.panel }, - PmenuSel = { fg = p.void, bg = p.razor, bold = true }, -- Red Menu Selection + PmenuSel = { fg = p.ink, bg = p.razor, bold = true }, -- Red Menu Selection PmenuSbar = { bg = p.panel }, PmenuThumb = { bg = p.stealth }, + ErrorMsg = { fg = p.alert }, + WarningMsg = { fg = p.amber }, + MoreMsg = { fg = p.tech }, + ModeMsg = { fg = p.text }, -- SYNTAX HIGHLIGHTING --------------------------------------------------- Comment = { fg = p.stealth, italic = true }, @@ -110,17 +120,39 @@ function M.load() Underlined = { underline = true }, Ignore = { fg = p.stealth }, - Error = { fg = p.razor }, + Error = { fg = p.alert }, Todo = { fg = p.void, bg = p.amber, bold = true }, + Title = { fg = p.sacred, bold = true }, + + MatchParen = { fg = p.void, bg = p.amber, bold = true }, + Whitespace = { fg = p.border }, + NonText = { fg = p.border }, + SpecialKey = { fg = p.border }, -- DIAGNOSTICS ----------------------------------------------------------- - DiagnosticError = { fg = p.razor }, + DiagnosticError = { fg = p.alert }, DiagnosticWarn = { fg = p.amber }, DiagnosticInfo = { fg = p.tech }, DiagnosticHint = { fg = p.dim }, - DiagnosticUnderlineError = { sp = p.razor, underline = true }, - DiagnosticUnderlineWarn = { sp = p.amber, underline = true }, + DiagnosticUnderlineError = { undercurl = true, sp = p.razor }, + DiagnosticUnderlineWarn = { undercurl = true, sp = p.amber }, + DiagnosticUnderlineInfo = { undercurl = true, sp = p.tech }, + DiagnosticUnderlineHint = { undercurl = true, sp = p.dim }, + DiagnosticVirtualTextError = { fg = p.alert, bg = p.panel }, + DiagnosticVirtualTextWarn = { fg = p.amber, bg = p.panel }, + DiagnosticVirtualTextInfo = { fg = p.tech, bg = p.panel }, + DiagnosticVirtualTextHint = { fg = p.dim, bg = p.panel }, + DiagnosticSignError = { fg = p.alert, bg = p.void }, + DiagnosticSignWarn = { fg = p.amber, bg = p.void }, + DiagnosticSignInfo = { fg = p.tech, bg = p.void }, + DiagnosticSignHint = { fg = p.dim, bg = p.void }, + + -- DIFF ------------------------------------------------------------------ + DiffAdd = { fg = p.toxic, bg = p.panel }, + DiffChange = { fg = p.tech, bg = p.panel }, + DiffDelete = { fg = p.razor, bg = p.panel }, + DiffText = { fg = p.void, bg = p.tech, bold = true }, -- PLUGINS: TELESCOPE ("The HUD") ---------------------------------------- TelescopeNormal = { bg = p.void }, @@ -128,9 +160,9 @@ function M.load() TelescopePromptNormal = { fg = p.text, bg = p.void }, TelescopePromptBorder = { fg = p.tech, bg = p.void }, -- Cyan Input Border TelescopePromptTitle = { fg = p.void, bg = p.tech }, -- Cyan Label - TelescopePreviewTitle = { fg = p.void, bg = p.razor }, -- Red Label + TelescopePreviewTitle = { fg = p.ink, bg = p.razor }, -- Red Label TelescopeResultsTitle = { fg = p.void, bg = p.panel }, - TelescopeSelection = { fg = p.void, bg = p.razor }, -- Red Selection + TelescopeSelection = { fg = p.ink, bg = p.razor }, -- Red Selection -- PLUGINS: NEO-TREE ("Stealth") ----------------------------------------- NeoTreeNormal = { bg = p.void }, @@ -161,6 +193,87 @@ function M.load() for group, highlight in pairs(groups) do vim.api.nvim_set_hl(0, group, highlight) end + + local links = { + ["@annotation"] = "Special", + ["@attribute"] = "Special", + ["@character"] = "Character", + ["@comment"] = "Comment", + ["@constant"] = "Constant", + ["@constant.builtin"] = "Constant", + ["@constant.macro"] = "Macro", + ["@constructor"] = "Type", + ["@debug"] = "Debug", + ["@define"] = "Define", + ["@exception"] = "Exception", + ["@field"] = "Identifier", + ["@float"] = "Float", + ["@function"] = "Function", + ["@function.builtin"] = "Function", + ["@function.call"] = "Function", + ["@function.macro"] = "Macro", + ["@include"] = "Include", + ["@keyword"] = "Keyword", + ["@keyword.function"] = "Keyword", + ["@keyword.operator"] = "Operator", + ["@keyword.return"] = "Keyword", + ["@label"] = "Label", + ["@method"] = "Function", + ["@method.call"] = "Function", + ["@module"] = "Structure", + ["@namespace"] = "Structure", + ["@number"] = "Number", + ["@operator"] = "Operator", + ["@parameter"] = "Identifier", + ["@preproc"] = "PreProc", + ["@property"] = "Identifier", + ["@punctuation"] = "Delimiter", + ["@punctuation.bracket"] = "Delimiter", + ["@punctuation.delimiter"] = "Delimiter", + ["@punctuation.special"] = "Delimiter", + ["@repeat"] = "Repeat", + ["@string"] = "String", + ["@string.escape"] = "SpecialChar", + ["@string.regex"] = "SpecialChar", + ["@string.special"] = "SpecialChar", + ["@tag"] = "Tag", + ["@tag.attribute"] = "Identifier", + ["@tag.delimiter"] = "Delimiter", + ["@text"] = "Normal", + ["@text.title"] = "Title", + ["@type"] = "Type", + ["@type.builtin"] = "Type", + ["@type.definition"] = "Type", + ["@type.qualifier"] = "Keyword", + ["@variable"] = "Identifier", + ["@variable.builtin"] = "Identifier", + + ["@lsp.type.boolean"] = "Boolean", + ["@lsp.type.class"] = "Type", + ["@lsp.type.comment"] = "Comment", + ["@lsp.type.decorator"] = "Special", + ["@lsp.type.enum"] = "Type", + ["@lsp.type.enumMember"] = "Constant", + ["@lsp.type.function"] = "Function", + ["@lsp.type.interface"] = "Type", + ["@lsp.type.keyword"] = "Keyword", + ["@lsp.type.macro"] = "Macro", + ["@lsp.type.method"] = "Function", + ["@lsp.type.namespace"] = "Structure", + ["@lsp.type.number"] = "Number", + ["@lsp.type.operator"] = "Operator", + ["@lsp.type.parameter"] = "Identifier", + ["@lsp.type.property"] = "Identifier", + ["@lsp.type.string"] = "String", + ["@lsp.type.struct"] = "Structure", + ["@lsp.type.type"] = "Type", + ["@lsp.type.typeParameter"] = "Type", + ["@lsp.type.variable"] = "Identifier", + } + + for group, target in pairs(links) do + vim.api.nvim_set_hl(0, group, { link = target }) + end end M.load() diff --git a/dist/nvim/colors/apex-neon.lua b/dist/nvim/colors/apex-neon.lua index 4b9ceb4..ed8d1a2 100644 --- a/dist/nvim/colors/apex-neon.lua +++ b/dist/nvim/colors/apex-neon.lua @@ -16,7 +16,8 @@ M.palette = { -- The Hunter (Presence) razor = "#ff0044", -- PRIMARY: Cursor, Current Match, Active Border - alert = "#ff8899", -- ERROR: Readable text on Red + ink = "#050505", -- Text color on Razor backgrounds + alert = "#ff0044", -- Error accent text on void/panel -- The HUD (Data) tech = "#00eaff", -- INFO: Selection, Search Match, Constants @@ -43,14 +44,19 @@ function M.load() NormalNC = { fg = p.dim, bg = p.void }, -- Non-focused windows SignColumn = { bg = p.void }, FoldColumn = { fg = p.stealth, bg = p.void }, - VertSplit = { fg = p.razor }, -- Deprecated in nvim 0.10, but good fallback - WinSeparator = { fg = p.razor }, -- The Cage (Red Borders) + VertSplit = { fg = p.border }, -- Deprecated in nvim 0.10, but good fallback + WinSeparator = { fg = p.border }, EndOfBuffer = { fg = p.void }, -- Hide tildes + NormalFloat = { fg = p.text, bg = p.panel }, + FloatBorder = { fg = p.border, bg = p.panel }, + MsgArea = { fg = p.text, bg = p.void }, -- CURSOR & NAVIGATION ("The Hunter") ------------------------------------ - Cursor = { fg = p.void, bg = p.razor }, -- Red Beam - TermCursor = { fg = p.void, bg = p.razor }, + Cursor = { fg = p.ink, bg = p.razor }, -- Red Beam + TermCursor = { fg = p.ink, bg = p.razor }, CursorLine = { bg = p.panel }, + CursorColumn = { bg = p.panel }, + ColorColumn = { bg = p.panel }, CursorLineNr = { fg = p.razor, bold = true }, -- Red Line Number (You are here) LineNr = { fg = p.stealth }, -- Other lines fade out @@ -59,17 +65,21 @@ function M.load() VisualNOS = { fg = p.void, bg = p.border }, Search = { fg = p.void, bg = p.tech }, -- Cyan (Potential Targets) - IncSearch = { fg = p.void, bg = p.razor }, -- Red (Acquiring...) - CurSearch = { fg = p.void, bg = p.razor, bold = true }, -- Red (Target Locked) + IncSearch = { fg = p.ink, bg = p.razor }, -- Red (Acquiring...) + CurSearch = { fg = p.ink, bg = p.razor, bold = true }, -- Red (Target Locked) -- STATUS & MESSAGES ----------------------------------------------------- StatusLine = { fg = p.text, bg = p.panel }, StatusLineNC = { fg = p.dim, bg = p.void }, WildMenu = { fg = p.void, bg = p.tech }, Pmenu = { fg = p.text, bg = p.panel }, - PmenuSel = { fg = p.void, bg = p.razor, bold = true }, -- Red Menu Selection + PmenuSel = { fg = p.ink, bg = p.razor, bold = true }, -- Red Menu Selection PmenuSbar = { bg = p.panel }, PmenuThumb = { bg = p.stealth }, + ErrorMsg = { fg = p.alert }, + WarningMsg = { fg = p.amber }, + MoreMsg = { fg = p.tech }, + ModeMsg = { fg = p.text }, -- SYNTAX HIGHLIGHTING --------------------------------------------------- Comment = { fg = p.stealth, italic = true }, @@ -110,17 +120,39 @@ function M.load() Underlined = { underline = true }, Ignore = { fg = p.stealth }, - Error = { fg = p.razor }, + Error = { fg = p.alert }, Todo = { fg = p.void, bg = p.amber, bold = true }, + Title = { fg = p.sacred, bold = true }, + + MatchParen = { fg = p.void, bg = p.amber, bold = true }, + Whitespace = { fg = p.border }, + NonText = { fg = p.border }, + SpecialKey = { fg = p.border }, -- DIAGNOSTICS ----------------------------------------------------------- - DiagnosticError = { fg = p.razor }, + DiagnosticError = { fg = p.alert }, DiagnosticWarn = { fg = p.amber }, DiagnosticInfo = { fg = p.tech }, DiagnosticHint = { fg = p.dim }, - DiagnosticUnderlineError = { sp = p.razor, underline = true }, - DiagnosticUnderlineWarn = { sp = p.amber, underline = true }, + DiagnosticUnderlineError = { undercurl = true, sp = p.razor }, + DiagnosticUnderlineWarn = { undercurl = true, sp = p.amber }, + DiagnosticUnderlineInfo = { undercurl = true, sp = p.tech }, + DiagnosticUnderlineHint = { undercurl = true, sp = p.dim }, + DiagnosticVirtualTextError = { fg = p.alert, bg = p.panel }, + DiagnosticVirtualTextWarn = { fg = p.amber, bg = p.panel }, + DiagnosticVirtualTextInfo = { fg = p.tech, bg = p.panel }, + DiagnosticVirtualTextHint = { fg = p.dim, bg = p.panel }, + DiagnosticSignError = { fg = p.alert, bg = p.void }, + DiagnosticSignWarn = { fg = p.amber, bg = p.void }, + DiagnosticSignInfo = { fg = p.tech, bg = p.void }, + DiagnosticSignHint = { fg = p.dim, bg = p.void }, + + -- DIFF ------------------------------------------------------------------ + DiffAdd = { fg = p.toxic, bg = p.panel }, + DiffChange = { fg = p.tech, bg = p.panel }, + DiffDelete = { fg = p.razor, bg = p.panel }, + DiffText = { fg = p.void, bg = p.tech, bold = true }, -- PLUGINS: TELESCOPE ("The HUD") ---------------------------------------- TelescopeNormal = { bg = p.void }, @@ -128,9 +160,9 @@ function M.load() TelescopePromptNormal = { fg = p.text, bg = p.void }, TelescopePromptBorder = { fg = p.tech, bg = p.void }, -- Cyan Input Border TelescopePromptTitle = { fg = p.void, bg = p.tech }, -- Cyan Label - TelescopePreviewTitle = { fg = p.void, bg = p.razor }, -- Red Label + TelescopePreviewTitle = { fg = p.ink, bg = p.razor }, -- Red Label TelescopeResultsTitle = { fg = p.void, bg = p.panel }, - TelescopeSelection = { fg = p.void, bg = p.razor }, -- Red Selection + TelescopeSelection = { fg = p.ink, bg = p.razor }, -- Red Selection -- PLUGINS: NEO-TREE ("Stealth") ----------------------------------------- NeoTreeNormal = { bg = p.void }, @@ -161,6 +193,87 @@ function M.load() for group, highlight in pairs(groups) do vim.api.nvim_set_hl(0, group, highlight) end + + local links = { + ["@annotation"] = "Special", + ["@attribute"] = "Special", + ["@character"] = "Character", + ["@comment"] = "Comment", + ["@constant"] = "Constant", + ["@constant.builtin"] = "Constant", + ["@constant.macro"] = "Macro", + ["@constructor"] = "Type", + ["@debug"] = "Debug", + ["@define"] = "Define", + ["@exception"] = "Exception", + ["@field"] = "Identifier", + ["@float"] = "Float", + ["@function"] = "Function", + ["@function.builtin"] = "Function", + ["@function.call"] = "Function", + ["@function.macro"] = "Macro", + ["@include"] = "Include", + ["@keyword"] = "Keyword", + ["@keyword.function"] = "Keyword", + ["@keyword.operator"] = "Operator", + ["@keyword.return"] = "Keyword", + ["@label"] = "Label", + ["@method"] = "Function", + ["@method.call"] = "Function", + ["@module"] = "Structure", + ["@namespace"] = "Structure", + ["@number"] = "Number", + ["@operator"] = "Operator", + ["@parameter"] = "Identifier", + ["@preproc"] = "PreProc", + ["@property"] = "Identifier", + ["@punctuation"] = "Delimiter", + ["@punctuation.bracket"] = "Delimiter", + ["@punctuation.delimiter"] = "Delimiter", + ["@punctuation.special"] = "Delimiter", + ["@repeat"] = "Repeat", + ["@string"] = "String", + ["@string.escape"] = "SpecialChar", + ["@string.regex"] = "SpecialChar", + ["@string.special"] = "SpecialChar", + ["@tag"] = "Tag", + ["@tag.attribute"] = "Identifier", + ["@tag.delimiter"] = "Delimiter", + ["@text"] = "Normal", + ["@text.title"] = "Title", + ["@type"] = "Type", + ["@type.builtin"] = "Type", + ["@type.definition"] = "Type", + ["@type.qualifier"] = "Keyword", + ["@variable"] = "Identifier", + ["@variable.builtin"] = "Identifier", + + ["@lsp.type.boolean"] = "Boolean", + ["@lsp.type.class"] = "Type", + ["@lsp.type.comment"] = "Comment", + ["@lsp.type.decorator"] = "Special", + ["@lsp.type.enum"] = "Type", + ["@lsp.type.enumMember"] = "Constant", + ["@lsp.type.function"] = "Function", + ["@lsp.type.interface"] = "Type", + ["@lsp.type.keyword"] = "Keyword", + ["@lsp.type.macro"] = "Macro", + ["@lsp.type.method"] = "Function", + ["@lsp.type.namespace"] = "Structure", + ["@lsp.type.number"] = "Number", + ["@lsp.type.operator"] = "Operator", + ["@lsp.type.parameter"] = "Identifier", + ["@lsp.type.property"] = "Identifier", + ["@lsp.type.string"] = "String", + ["@lsp.type.struct"] = "Structure", + ["@lsp.type.type"] = "Type", + ["@lsp.type.typeParameter"] = "Type", + ["@lsp.type.variable"] = "Identifier", + } + + for group, target in pairs(links) do + vim.api.nvim_set_hl(0, group, { link = target }) + end end M.load() diff --git a/templates/nvim/colors/apex.lua.j2 b/templates/nvim/colors/apex.lua.j2 index f7de40a..f05fa9d 100644 --- a/templates/nvim/colors/apex.lua.j2 +++ b/templates/nvim/colors/apex.lua.j2 @@ -16,7 +16,8 @@ M.palette = { -- The Hunter (Presence) razor = "{{ palette.cursor }}", -- PRIMARY: Cursor, Current Match, Active Border - alert = "{{ ansi.bright.red }}", -- ERROR: Readable text on Red + ink = "{{ palette.selection_fg }}", -- Text color on Razor backgrounds + alert = "{{ palette.error }}", -- Error accent text on void/panel -- The HUD (Data) tech = "{{ palette.info }}", -- INFO: Selection, Search Match, Constants @@ -43,14 +44,19 @@ function M.load() NormalNC = { fg = p.dim, bg = p.void }, -- Non-focused windows SignColumn = { bg = p.void }, FoldColumn = { fg = p.stealth, bg = p.void }, - VertSplit = { fg = p.razor }, -- Deprecated in nvim 0.10, but good fallback - WinSeparator = { fg = p.razor }, -- The Cage (Red Borders) + VertSplit = { fg = p.border }, -- Deprecated in nvim 0.10, but good fallback + WinSeparator = { fg = p.border }, EndOfBuffer = { fg = p.void }, -- Hide tildes + NormalFloat = { fg = p.text, bg = p.panel }, + FloatBorder = { fg = p.border, bg = p.panel }, + MsgArea = { fg = p.text, bg = p.void }, -- CURSOR & NAVIGATION ("The Hunter") ------------------------------------ - Cursor = { fg = p.void, bg = p.razor }, -- Red Beam - TermCursor = { fg = p.void, bg = p.razor }, + Cursor = { fg = p.ink, bg = p.razor }, -- Red Beam + TermCursor = { fg = p.ink, bg = p.razor }, CursorLine = { bg = p.panel }, + CursorColumn = { bg = p.panel }, + ColorColumn = { bg = p.panel }, CursorLineNr = { fg = p.razor, bold = true }, -- Red Line Number (You are here) LineNr = { fg = p.stealth }, -- Other lines fade out @@ -59,17 +65,21 @@ function M.load() VisualNOS = { fg = p.void, bg = p.border }, Search = { fg = p.void, bg = p.tech }, -- Cyan (Potential Targets) - IncSearch = { fg = p.void, bg = p.razor }, -- Red (Acquiring...) - CurSearch = { fg = p.void, bg = p.razor, bold = true }, -- Red (Target Locked) + IncSearch = { fg = p.ink, bg = p.razor }, -- Red (Acquiring...) + CurSearch = { fg = p.ink, bg = p.razor, bold = true }, -- Red (Target Locked) -- STATUS & MESSAGES ----------------------------------------------------- StatusLine = { fg = p.text, bg = p.panel }, StatusLineNC = { fg = p.dim, bg = p.void }, WildMenu = { fg = p.void, bg = p.tech }, Pmenu = { fg = p.text, bg = p.panel }, - PmenuSel = { fg = p.void, bg = p.razor, bold = true }, -- Red Menu Selection + PmenuSel = { fg = p.ink, bg = p.razor, bold = true }, -- Red Menu Selection PmenuSbar = { bg = p.panel }, PmenuThumb = { bg = p.stealth }, + ErrorMsg = { fg = p.alert }, + WarningMsg = { fg = p.amber }, + MoreMsg = { fg = p.tech }, + ModeMsg = { fg = p.text }, -- SYNTAX HIGHLIGHTING --------------------------------------------------- Comment = { fg = p.stealth, italic = true }, @@ -110,17 +120,39 @@ function M.load() Underlined = { underline = true }, Ignore = { fg = p.stealth }, - Error = { fg = p.razor }, + Error = { fg = p.alert }, Todo = { fg = p.void, bg = p.amber, bold = true }, + Title = { fg = p.sacred, bold = true }, + + MatchParen = { fg = p.void, bg = p.amber, bold = true }, + Whitespace = { fg = p.border }, + NonText = { fg = p.border }, + SpecialKey = { fg = p.border }, -- DIAGNOSTICS ----------------------------------------------------------- - DiagnosticError = { fg = p.razor }, + DiagnosticError = { fg = p.alert }, DiagnosticWarn = { fg = p.amber }, DiagnosticInfo = { fg = p.tech }, DiagnosticHint = { fg = p.dim }, - DiagnosticUnderlineError = { sp = p.razor, underline = true }, - DiagnosticUnderlineWarn = { sp = p.amber, underline = true }, + DiagnosticUnderlineError = { undercurl = true, sp = p.razor }, + DiagnosticUnderlineWarn = { undercurl = true, sp = p.amber }, + DiagnosticUnderlineInfo = { undercurl = true, sp = p.tech }, + DiagnosticUnderlineHint = { undercurl = true, sp = p.dim }, + DiagnosticVirtualTextError = { fg = p.alert, bg = p.panel }, + DiagnosticVirtualTextWarn = { fg = p.amber, bg = p.panel }, + DiagnosticVirtualTextInfo = { fg = p.tech, bg = p.panel }, + DiagnosticVirtualTextHint = { fg = p.dim, bg = p.panel }, + DiagnosticSignError = { fg = p.alert, bg = p.void }, + DiagnosticSignWarn = { fg = p.amber, bg = p.void }, + DiagnosticSignInfo = { fg = p.tech, bg = p.void }, + DiagnosticSignHint = { fg = p.dim, bg = p.void }, + + -- DIFF ------------------------------------------------------------------ + DiffAdd = { fg = p.toxic, bg = p.panel }, + DiffChange = { fg = p.tech, bg = p.panel }, + DiffDelete = { fg = p.razor, bg = p.panel }, + DiffText = { fg = p.void, bg = p.tech, bold = true }, -- PLUGINS: TELESCOPE ("The HUD") ---------------------------------------- TelescopeNormal = { bg = p.void }, @@ -128,9 +160,9 @@ function M.load() TelescopePromptNormal = { fg = p.text, bg = p.void }, TelescopePromptBorder = { fg = p.tech, bg = p.void }, -- Cyan Input Border TelescopePromptTitle = { fg = p.void, bg = p.tech }, -- Cyan Label - TelescopePreviewTitle = { fg = p.void, bg = p.razor }, -- Red Label + TelescopePreviewTitle = { fg = p.ink, bg = p.razor }, -- Red Label TelescopeResultsTitle = { fg = p.void, bg = p.panel }, - TelescopeSelection = { fg = p.void, bg = p.razor }, -- Red Selection + TelescopeSelection = { fg = p.ink, bg = p.razor }, -- Red Selection -- PLUGINS: NEO-TREE ("Stealth") ----------------------------------------- NeoTreeNormal = { bg = p.void }, @@ -161,6 +193,87 @@ function M.load() for group, highlight in pairs(groups) do vim.api.nvim_set_hl(0, group, highlight) end + + local links = { + ["@annotation"] = "Special", + ["@attribute"] = "Special", + ["@character"] = "Character", + ["@comment"] = "Comment", + ["@constant"] = "Constant", + ["@constant.builtin"] = "Constant", + ["@constant.macro"] = "Macro", + ["@constructor"] = "Type", + ["@debug"] = "Debug", + ["@define"] = "Define", + ["@exception"] = "Exception", + ["@field"] = "Identifier", + ["@float"] = "Float", + ["@function"] = "Function", + ["@function.builtin"] = "Function", + ["@function.call"] = "Function", + ["@function.macro"] = "Macro", + ["@include"] = "Include", + ["@keyword"] = "Keyword", + ["@keyword.function"] = "Keyword", + ["@keyword.operator"] = "Operator", + ["@keyword.return"] = "Keyword", + ["@label"] = "Label", + ["@method"] = "Function", + ["@method.call"] = "Function", + ["@module"] = "Structure", + ["@namespace"] = "Structure", + ["@number"] = "Number", + ["@operator"] = "Operator", + ["@parameter"] = "Identifier", + ["@preproc"] = "PreProc", + ["@property"] = "Identifier", + ["@punctuation"] = "Delimiter", + ["@punctuation.bracket"] = "Delimiter", + ["@punctuation.delimiter"] = "Delimiter", + ["@punctuation.special"] = "Delimiter", + ["@repeat"] = "Repeat", + ["@string"] = "String", + ["@string.escape"] = "SpecialChar", + ["@string.regex"] = "SpecialChar", + ["@string.special"] = "SpecialChar", + ["@tag"] = "Tag", + ["@tag.attribute"] = "Identifier", + ["@tag.delimiter"] = "Delimiter", + ["@text"] = "Normal", + ["@text.title"] = "Title", + ["@type"] = "Type", + ["@type.builtin"] = "Type", + ["@type.definition"] = "Type", + ["@type.qualifier"] = "Keyword", + ["@variable"] = "Identifier", + ["@variable.builtin"] = "Identifier", + + ["@lsp.type.boolean"] = "Boolean", + ["@lsp.type.class"] = "Type", + ["@lsp.type.comment"] = "Comment", + ["@lsp.type.decorator"] = "Special", + ["@lsp.type.enum"] = "Type", + ["@lsp.type.enumMember"] = "Constant", + ["@lsp.type.function"] = "Function", + ["@lsp.type.interface"] = "Type", + ["@lsp.type.keyword"] = "Keyword", + ["@lsp.type.macro"] = "Macro", + ["@lsp.type.method"] = "Function", + ["@lsp.type.namespace"] = "Structure", + ["@lsp.type.number"] = "Number", + ["@lsp.type.operator"] = "Operator", + ["@lsp.type.parameter"] = "Identifier", + ["@lsp.type.property"] = "Identifier", + ["@lsp.type.string"] = "String", + ["@lsp.type.struct"] = "Structure", + ["@lsp.type.type"] = "Type", + ["@lsp.type.typeParameter"] = "Type", + ["@lsp.type.variable"] = "Identifier", + } + + for group, target in pairs(links) do + vim.api.nvim_set_hl(0, group, { link = target }) + end end M.load()