-- These groups are for the native LSP client. Some other LSP clients may
-- use these groups, or use their own. Consult your LSP client's
-- documentation.
LspReferenceText={bg=t.fg_gutter},-- used for highlighting "text" references
LspReferenceRead={bg=t.fg_gutter},-- used for highlighting "read" references
LspReferenceWrite={bg=t.fg_gutter},-- used for highlighting "write" references
-- hightlight diagnostics in numberline
LspDiagnosticsDefaultError={fg=t.error},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning={fg=t.warning},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation={fg=t.info},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint={fg=t.hint},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspSignatureActiveParameter={fg=t.orange},
-- LspDiagnosticsFloatingError = { }, -- Used to color "Error" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingWarning = { }, -- Used to color "Warning" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingInformation = { }, -- Used to color "Information" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingHint = { }, -- Used to color "Hint" diagnostic messages in diagnostics float
LspDiagnosticsError={fg=t.error},
LspDiagnosticsWarning={fg=t.warning},
LspDiagnosticsInformation={fg=t.info},
LspDiagnosticsHint={fg=t.hint},
LspDiagnosticsVirtualTextError={fg=t.error,style=opts.integrations.native_lsp.styles.errors},-- Used for "Error" diagnostic virtual text
LspDiagnosticsVirtualTextWarning={fg=t.warning,style=opts.integrations.native_lsp.styles.warnings},-- Used for "Warning" diagnostic virtual text
LspDiagnosticsVirtualTextInformation={fg=t.info,style=opts.integrations.native_lsp.styles.information},-- Used for "Information" diagnostic virtual text
LspDiagnosticsVirtualTextHint={fg=t.hint,style=opts.integrations.native_lsp.styles.hints},-- Used for "Hint" diagnostic virtual text
LspDiagnosticsUnderlineError={style="underline",sp=t.error},-- Used to underline "Error" diagnostics
LspDiagnosticsUnderlineWarning={style="underline",sp=t.warning},-- Used to underline "Warning" diagnostics
LspDiagnosticsUnderlineInformation={style="underline",sp=t.info},-- Used to underline "Information" diagnostics
LspDiagnosticsUnderlineHint={style="underline",sp=t.hint},-- Used to underline "Hint" diagnostics
MsgArea={fg=cpt.fg_alt},-- Area for messages and cmdline
MsgSeparator={},-- Separator for scrolled messages, `msgsep` flag of 'display'
MoreMsg={fg= t.blue},-- |more-prompt|
NonText={fg= t.comment},-- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
Normal={fg=t.fg,bg=opts.transparencyandt.noneort.bg},-- normal text
NormalNC={fg=t.fg,bg=opts.transparencyandt.noneort.bg},-- normal text in non-current windows
NormalSB={fg= t.fg_sidebar,bg= t.bg_sidebar},-- normal text in non-current windows
NormalFloat={fg= t.fg,bg= t.bg_float},-- Normal text in floating windows.
FloatBorder={fg= t.border_highlight},
Pmenu={bg= t.bg_popup,fg= t.fg},-- Popup menu: normal item.
PmenuThumb={bg= t.fg_gutter},-- Popup menu: Thumb of the scrollbar.
Question={fg= t.blue},-- |hit-enter| prompt and yes/no questions
QuickFixLine={bg= t.bg_visual,style="bold"},-- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
Search={bg= t.bg_search,fg= t.fg},-- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
IncSearch={bg= t.cyan,fg= t.black},-- 'incsearch' highlighting; also used for the text replaced with ":s///c"
SpecialKey={fg= t.black},-- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
SpellBad={sp= t.error,style="undercurl"},-- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
SpellCap={sp= t.warning,style="undercurl"},-- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
SpellLocal={sp= t.info,style="undercurl"},-- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
SpellRare={sp= t.hint,style="undercurl"},-- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
StatusLine={fg= t.fg_sidebar,bg= t.bg_statusline},-- status line of current window
StatusLineNC={fg= t.fg_gutter,bg= t.bg_statusline},-- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
TabLine={bg= t.bg_statusline,fg= t.fg_gutter},-- tab pages line, not active tab page label
TabLineFill={bg= t.black},-- tab pages line, where there are no labels
TabLineSel={fg= t.fg_alt,bg= t.fg_gutter},-- tab pages line, active tab page label
Title={fg= t.blue,style="bold"},-- titles for output from ":set all", ":autocmd" ett.
Visual={bg= t.bg_visual},-- Visual mode selection
VisualNOS={bg= t.bg_visual},-- Visual mode selection when vim is "Not Owning the Selection".
WarningMsg={fg= t.warning},-- warning messages
Whitespace={fg= t.fg_gutter},-- "nbsp", "space", "tab" and "trail" in 'listchars'
WildMenu={bg= t.bg_visual},-- current match in 'wildmenu' completion
MoreMsg={fg=cpt.blue},-- |more-prompt|
NonText={fg=cpt.comment},-- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
Normal={fg=cpt.fg,bg=cpc.transparencyandcpt.noneorcpt.bg},-- normal text
NormalNC={fg=cpt.fg,bg=cpc.transparencyandcpt.noneorcpt.bg},-- normal text in non-current windows
NormalSB={fg=cpt.fg_sidebar,bg=cpt.bg_sidebar},-- normal text in non-current windows
NormalFloat={fg=cpt.fg,bg=cpt.bg_float},-- Normal text in floating windows.
FloatBorder={fg=cpt.border_highlight},
Pmenu={bg=cpt.bg_popup,fg=cpt.fg},-- Popup menu: normal item.
PmenuThumb={bg=cpt.fg_gutter},-- Popup menu: Thumb of the scrollbar.
Question={fg=cpt.blue},-- |hit-enter| prompt and yes/no questions
QuickFixLine={bg=cpt.bg_visual,style="bold"},-- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
Search={bg=cpt.bg_search,fg=cpt.fg},-- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand oucpt.
IncSearch={bg=cpt.cyan,fg=cpt.black},-- 'incsearch' highlighting; also used for the text replaced with ":s///c"
SpecialKey={fg=cpt.black},-- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
SpellBad={sp=cpt.error,style="undercurl"},-- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
SpellCap={sp=cpt.warning,style="undercurl"},-- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
SpellLocal={sp=cpt.info,style="undercurl"},-- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
SpellRare={sp=cpt.hint,style="undercurl"},-- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
StatusLine={fg=cpt.fg_sidebar,bg=cpt.bg_statusline},-- status line of current window
StatusLineNC={fg=cpt.fg_gutter,bg=cpt.bg_statusline},-- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
TabLine={bg=cpt.bg_statusline,fg=cpt.fg_gutter},-- tab pages line, not active tab page label
TabLineFill={bg=cpt.black},-- tab pages line, where there are no labels
TabLineSel={fg=cpt.fg_alt,bg=cpt.fg_gutter},-- tab pages line, active tab page label
Title={fg=cpt.blue,style="bold"},-- titles for output from ":set all", ":autocmd" etcpt.
debugPC={bg=cpt.bg_sidebar},-- used for highlighting the current line in terminal-debug
debugBreakpoint={bg=util.darken(cpt.info,0.1),fg=cpt.info},-- used for breakpoint colors in terminal-debug
-- These groups are for the native LSP cliencpt. Some other LSP clients may
-- use these groups, or use their own. Consult your LSP client's
-- documentation.
LspReferenceText={bg= t.fg_gutter},-- used for highlighting "text" references
LspReferenceRead={bg= t.fg_gutter},-- used for highlighting "read" references
LspReferenceWrite={bg= t.fg_gutter},-- used for highlighting "write" references
LspReferenceText={bg=cpt.fg_gutter},-- used for highlighting "text" references
LspReferenceRead={bg=cpt.fg_gutter},-- used for highlighting "read" references
LspReferenceWrite={bg=cpt.fg_gutter},-- used for highlighting "write" references
-- hightlight diagnostics in numberline
LspDiagnosticsDefaultError={fg= t.error},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning={fg= t.warning},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation={fg= t.info},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint={fg= t.hint},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspSignatureActiveParameter={fg= t.orange},
LspDiagnosticsDefaultError={fg=cpt.error},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning={fg=cpt.warning},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation={fg=cpt.info},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint={fg=cpt.hint},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspSignatureActiveParameter={fg=cpt.orange},
-- LspDiagnosticsFloatingError = { }, -- Used to color "Error" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingWarning = { }, -- Used to color "Warning" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingInformation = { }, -- Used to color "Information" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingHint = { }, -- Used to color "Hint" diagnostic messages in diagnostics float
LspDiagnosticsError={fg= t.error},
LspDiagnosticsWarning={fg= t.warning},
LspDiagnosticsInformation={fg= t.info},
LspDiagnosticsHint={fg= t.hint},
LspDiagnosticsError={fg=cpt.error},
LspDiagnosticsWarning={fg=cpt.warning},
LspDiagnosticsInformation={fg=cpt.info},
LspDiagnosticsHint={fg=cpt.hint},
LspDiagnosticsVirtualTextError={fg=t.error,style=opts.integrations.native_lsp.styles.errors},-- Used for "Error" diagnostic virtual text
LspDiagnosticsVirtualTextWarning={fg= t.warning,style=opts.integrations.native_lsp.styles.warnings},-- Used for "Warning" diagnostic virtual text
LspDiagnosticsVirtualTextInformation={fg=t.info,style=opts.integrations.native_lsp.styles.information},-- Used for "Information" diagnostic virtual text
LspDiagnosticsVirtualTextHint={fg=t.hint,style=opts.integrations.native_lsp.styles.hints},-- Used for "Hint" diagnostic virtual text
LspDiagnosticsVirtualTextError={fg=cpt.error,style=cpc.integrations.native_lsp.styles.errors},-- Used for "Error" diagnostic virtual text
LspDiagnosticsVirtualTextWarning={fg=cpt.warning,style=cpc.integrations.native_lsp.styles.warnings},-- Used for "Warning" diagnostic virtual text
LspDiagnosticsVirtualTextInformation={fg=cpt.info,style=cpc.integrations.native_lsp.styles.information},-- Used for "Information" diagnostic virtual text
LspDiagnosticsVirtualTextHint={fg=cpt.hint,style=cpc.integrations.native_lsp.styles.hints},-- Used for "Hint" diagnostic virtual text
LspDiagnosticsUnderlineError={style="underline",sp= t.error},-- Used to underline "Error" diagnostics
LspDiagnosticsUnderlineWarning={style="underline",sp= t.warning},-- Used to underline "Warning" diagnostics
LspDiagnosticsUnderlineInformation={style="underline",sp= t.info},-- Used to underline "Information" diagnostics
LspDiagnosticsUnderlineHint={style="underline",sp= t.hint},-- Used to underline "Hint" diagnostics
LspDiagnosticsUnderlineError={style="underline",sp=cpt.error},-- Used to underline "Error" diagnostics
LspDiagnosticsUnderlineWarning={style="underline",sp=cpt.warning},-- Used to underline "Warning" diagnostics
LspDiagnosticsUnderlineInformation={style="underline",sp=cpt.info},-- Used to underline "Information" diagnostics
LspDiagnosticsUnderlineHint={style="underline",sp=cpt.hint},-- Used to underline "Hint" diagnostics
-- These groups are for the neovim tree-sitter highlights.
-- As of writing, tree-sitter support is a WIP, group names may change.
@ -176,199 +175,222 @@ local function get_base(t)
-- TSBoolean = { }; -- For booleans.
-- TSCharacter = { }; -- For characters.
-- TSComment = { }; -- For comment blocks.
TSNote={fg= t.bg,bg= t.info},
TSWarning={fg= t.bg,bg= t.warning},
TSDanger={fg= t.bg,bg= t.error},
TSConstructor={fg= t.magenta},-- For constructor calls and definitions: `= { }` in Lua, and Java constructors.
TSNote={fg=cpt.bg,bg=cpt.info},
TSWarning={fg=cpt.bg,bg=cpt.warning},
TSDanger={fg=cpt.bg,bg=cpt.error},
TSConstructor={fg=cpt.magenta},-- For constructor calls and definitions: `= { }` in Lua, and Java constructors.
-- TSConditional = { }; -- For keywords related to conditionnals.
TSConstant={fg= t.orange},-- For constants
TSConstBuiltin={fg= t.orange_br},-- For constant that are built in the language: `nil` in Lua.
-- TSConstMacro = { }; -- For constants that are defined by macros: `NULL` in t.
TSConstant={fg=cpt.orange},-- For constants
TSConstBuiltin={fg=cpt.orange_br},-- For constant that are built in the language: `nil` in Lua.
-- TSConstMacro = { }; -- For constants that are defined by macros: `NULL` in cpt.
-- TSError = { }; -- For syntax/parser errors.
-- TSException = { }; -- For exception related keywords.
TSField={fg= t.red},-- For fields.
rustTSField={fg=util.darken(t.white,0.75)},-- For fields.
TSField={fg=cpt.red},-- For fields.
rustTSField={fg=util.darken(cpt.white,0.75)},-- For fields.
-- TSFloat = { }; -- For floats.
-- TSFunction = { fg = t.fg_gutter }, -- For function (calls and definitions).
TSFuncBuiltin={fg= t.cyan},-- For builtin functions: `table.insert` in Lua.
TSFuncMacro={fg= t.red},-- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
-- TSFunction = { fg = cpt.fg_gutter }, -- For function (calls and definitions).
TSFuncBuiltin={fg=cpt.cyan},-- For builtin functions: `table.insert` in Lua.
TSFuncMacro={fg=cpt.red},-- For macro defined fuctions (calls and definitions): each `macro_rules` in Ruscpt.
-- TSInclude = { }; -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
TSKeyword={fg= t.magenta,style=opts.styles.keywords},-- For keywords that don't fall in previous categories.
TSKeywordFunction={fg= t.magenta,style=opts.styles.fuctions},-- For keywords used to define a fuction.
TSLabel={fg= t.blue},-- For labels: `label:` in C and `:label:` in Lua.
TSKeyword={fg=cpt.magenta,style=cpc.styles.keywords},-- For keywords that don't fall in previous categories.
TSKeywordFunction={fg=cpt.magenta,style=cpc.styles.fuctions},-- For keywords used to define a fuction.
TSLabel={fg=cpt.blue},-- For labels: `label:` in C and `:label:` in Lua.
-- TSMethod = { }; -- For method calls and definitions.
TSNamespace={fg= t.cyan},-- For identifiers referring to modules and namespaces.
TSNamespace={fg=cpt.cyan},-- For identifiers referring to modules and namespaces.
-- TSNone = { }; -- TODO: docs
-- TSNumber = { }; -- For all numbers
TSOperator={fg= t.fg_alt},-- For any operator: `+`, but also `->` and `*` in t.
TSParameter={fg= t.orange_br},-- For parameters of a function.
TSOperator={fg=cpt.fg_alt},-- For any operator: `+`, but also `->` and `*` in cpt.
TSParameter={fg=cpt.orange_br},-- For parameters of a function.
-- TSParameterReference= { }; -- For references to parameters of a function.
TSProperty={fg= t.red_bg},-- Same as `TSField`.
tomlTSProperty={fg= t.blue},-- Differentiates between string and properties
TSPunctDelimiter={fg=util.string_to_color(t,"", t.fg_alt)},-- For delimiters ie: `.`
TSPunctBracket={fg= t.fg_alt},-- For brackets and parens.
TSPunctSpecial={fg= t.white},-- For special punctutation that does not fall in the catagories before.
TSProperty={fg=cpt.red_bg},-- Same as `TSField`.
tomlTSProperty={fg=cpt.blue},-- Differentiates between string and properties
TSPunctDelimiter={fg=util.string_to_color(cpt,"",cpt.fg_alt)},-- For delimiters ie: `.`
TSPunctBracket={fg=cpt.fg_alt},-- For brackets and parens.
TSPunctSpecial={fg=cpt.white},-- For special punctutation that does not fall in the catagories before.
-- TSRepeat = { }; -- For keywords related to loops.
-- TSString = { }; -- For strings.
TSStringRegex={fg=t.blue,style=opts.styles.strings},-- For regexes.
TSStringEscape={fg= t.magenta,style=opts.styles.strings},-- For escape characters within a string.
TSStringRegex={fg=cpt.blue,style=cpc.styles.strings},-- For regexes.
TSStringEscape={fg=cpt.magenta,style=cpc.styles.strings},-- For escape characters within a string.
-- TSSymbol = { }; -- For identifiers referring to symbols or atoms.
-- TSType = { }; -- For types.
TSTypeBuiltin={fg= t.cyan},-- For builtin types.
TSVariable={style=opts.styles.variables},-- Any variable name that does not have another highlight.
TSVariableBuiltin={fg= t.red},-- Variable names that are defined by the languages, like `this` or `self`.
TSTypeBuiltin={fg=cpt.cyan},-- For builtin types.
TSVariable={style=cpc.styles.variables},-- Any variable name that does not have another highlighcpt.
TSVariableBuiltin={fg=cpt.red},-- Variable names that are defined by the languages, like `this` or `self`.
-- TSTag = { }; -- Tags like html tag names.
-- TSTagDelimiter = { }; -- Tag delimiter like `<` `>` `/`
-- TSText = { }; -- For strings considered text in a markup language.
TSTextReference={fg= t.cyan}
TSTextReference={fg=cpt.cyan}
-- TSEmphasis = { }; -- For text to be represented with emphasis.
-- TSUnderline = { }; -- For text to be represented with an underline.
-- TSStrike = { }; -- For strikethrough text.
-- TSStrike = { }; -- For strikethrough texcpt.
-- TSTitle = { }; -- Text that is part of a title.