neogruber/lua/neogruber/groups.lua

535 lines
22 KiB
Lua

local M = {}
M.setup = function()
local config = require('neogruber').config
local c = require 'neogruber.palette'
local groups = {
-- int, long, char, etc.
Type = { fg = c.yellow },
-- static, register, volatile, etc.
StorageClass = { fg = c.yellow, bold = config.bold },
-- struct, union, enum, etc.
Structure = { fg = c.yellow },
-- any constant
Constant = { fg = c.quartz },
-- any character constant: 'c', '\n'
Character = { fg = c.green },
-- a number constant: 5
Number = { fg = c.quartz },
-- a boolean constant: TRUE, false
Boolean = { fg = c.quartz },
-- a floating point constant: 2.3e10
Float = { fg = c.quartz },
-- any statement
Statement = { fg = c.yellow },
-- case, default, etc.
Label = { fg = c.yellow },
-- sizeof", "+", "*", etc.
Operator = { fg = c.yellow },
-- try, catch, throw
Exception = { fg = c.yellow },
-- generic Preprocessor
PreProc = { fg = c.quartz },
-- preprocessor #include
Include = { fg = c.quartz },
-- preprocessor #define
Define = { fg = c.quartz },
-- same as Define
Macro = { fg = c.quartz },
-- A typedef
Typedef = { fg = c.yellow, bold = config.bold },
-- preprocessor #if, #else, #endif, etc.
PreCondit = { fg = c.quartz },
-- any special symbol
Special = { fg = c.niagara },
-- special character in a constant
SpecialChar = { fg = c.niagara },
-- you can use CTRL-] on this
Tag = { fg = c.brown },
-- character that needs attention like , or .
Delimiter = { fg = c.wisteria },
-- special things inside a comment
SpecialComment = { fg = c.brown },
-- debugging statements
Debug = { fg = c.brown },
-- text that stands out, HTML links
Underlined = { underline = config.underline },
-- left blank, hidden
Ignore = {},
-- any erroneous construct
Error = { fg = c.red, bold = config.bold, underline = config.underline },
-- anything that needs extra attention; mostly the keywords TODO FIXME and XXX
Todo = { fg = c.brown, bold = config.bold, italic = config.italic },
Comment = { fg = c.bg3, italic = config.italic }, -- normal comments
-- normal if, then, else, endif, switch, etc.
Conditional = { fg = c.yellow, bold = config.bold },
-- normal for, do, while, etc.
Keyword = { fg = c.yellow, bold = config.bold },
-- normal any other keyword
Repeat = { fg = c.yellow, bold = config.bold },
-- normal function names
Function = { fg = c.niagara },
zshFunction = { fg = c.niagara },
-- any variable name
Identifier = { fg = c.bg6 },
-- any string
String = { fg = c.green },
htmlLink = { fg = c.green, underline = config.underline },
htmlArg = { fg = c.light_blue },
htmlTag = { fg = c.bg6 },
htmlEndTag = { fg = c.bg6 },
htmlTagN = { fg = c.bg5 },
htmlTagName = { fg = c.light_blue },
htmlSpecialTagName = { fg = c.yellow },
htmlH1 = { fg = c.light_blue, bold = config.bold },
htmlH2 = { fg = c.wisteria1, bold = config.bold },
htmlH3 = { fg = c.niagara, bold = config.bold },
htmlH4 = { fg = c.wisteria, bold = config.bold },
htmlH5 = { fg = c.quartz, bold = config.bold },
cssAttributeSelector = { fg = c.light_blue },
cssSelectorOp = { fg = c.niagara1 },
cssTagName = { fg = c.yellow },
markdownBlockquote = { fg = c.bg6 },
markdownBold = { bold = config.bold },
markdownCode = { fg = c.yellow },
markdownCodeBlock = { fg = c.yellow },
markdownCodeDelimiter = { fg = c.green },
markdownH1 = { fg = c.light_blue, bold = config.bold },
markdownH2 = { fg = c.wisteria1, bold = config.bold },
markdownH3 = { fg = c.niagara, bold = config.bold },
markdownH4 = { fg = c.wisteria, bold = config.bold },
markdownH5 = { fg = c.quartz, bold = config.bold },
markdownH6 = { fg = c.green, bold = config.bold },
markdownH1Delimiter = { fg = c.bg5 },
markdownH2Delimiter = { fg = c.bg5 },
markdownH3Delimiter = { fg = c.bg5 },
markdownH4Delimiter = { fg = c.bg5 },
markdownH5Delimiter = { fg = c.bg5 },
markdownH6Delimiter = { fg = c.bg5 },
markdownId = { fg = c.yellow },
markdownIdDeclaration = { fg = c.niagara },
markdownIdDelimiter = { fg = c.light_blue },
markdownLinkDelimiter = { fg = c.bg5 },
markdownItalic = { italic = config.italic },
markdownLinkText = { fg = c.niagara },
markdownListMarker = { fg = c.red_1 },
markdownOrderedListMarker = { fg = c.red },
markdownRule = { fg = c.bg5 },
markdownUrl = { fg = c.green, underline = config.underline },
-- normal text and background color for floating windows
NormalFloat = { fg = c.fg, bg = c.bg },
-- floating window border
FloatBorder = { fg = c.yellow },
-- used for the columns set with 'colorcolumn'
ColorColumn = { bg = c.bg2 },
-- placeholder characters substituted for concealed text (see 'conceallevel')
Conceal = {},
-- the character under the cursor
Cursor = { reverse = config.inverse },
vCursor = { link = 'Cursor' },
iCursor = { link = 'Cursor' },
lCursor = { link = 'Cursor' },
-- like Cursor, but used when in IME mode
CursorIM = { fg = c.none, bg = c.none },
-- directory names (and other special names in listings)
Directory = { fg = c.light_blue, bg = c.none },
-- diff mode: Added line
DiffAdd = { fg = c.green, bg = c.none },
-- diff mode: Changed line
DiffChange = { fg = c.brown, bg = c.none },
-- diff mode: Deleted line
DiffDelete = { fg = c.red_1, bg = c.none },
-- diff mode: Changed text within a changed line
DiffText = { fg = c.none, bg = c.none },
-- error messages
ErrorMsg = { fg = c.red_1 },
-- line used for closed folds
Folded = { fg = c.brown, bg = c.none, italic = config.italic },
-- 'foldcolumn'
FoldColumn = {},
-- 'incsearch' highlighting; also used for the text replaced with ":s///c"
IncSearch = { fg = c.yellow, bg = c.bg3, bold = true, underline = config.underline },
CurSearch = { link = 'IncSearch' },
-- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
LineNr = { fg = c.bg3 },
-- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
CursorLineNr = { fg = c.yellow },
-- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
MatchParen = { fg = c.wisteria1, bg = c.none, bold = config.bold, underline = config.underline },
-- 'showmode' message (e.g., "-- INSERT -- ")
ModeMsg = { fg = c.light_blue, bold = config.bold },
-- |more-prompt|
MoreMsg = { fg = c.light_blue, bold = config.bold },
-- '@' 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|.
NonText = { fg = c.bg2 },
-- normal item |hl-Pmenu|
Pmenu = { fg = c.fg, bg = c.bg },
-- selected item |hl-PmenuSel|
PmenuSel = { bg = c.bg2 },
-- scrollbar |hl-PmenuSbar|
PmenuSbar = { bg = c.bg },
-- thumb of the scrollbar |hl-PmenuThumb|
PmenuThumb = { bg = c.fg },
-- |hit-enter| prompt and yes/no questions
Question = { fg = c.green },
-- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
QuickFixLine = { bg = c.light_blue, bold = config.bold },
-- Line numbers for quickfix lists
qfLineNr = { fg = c.yellow },
-- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
Search = { fg = c.brown, bg = c.none, bold = config.bold },
-- Unprintable characters: text displayed differently from what it really is.
-- But not 'listchars' whitespace. |hl-Whitespace|
SpecialKey = { fg = c.bg6 },
-- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
SpellBad = { italic = config.italic, undercurl = config.undercurl },
-- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
SpellCap = { fg = c.bg6 },
-- Word that is recognized by the spellchecker as one that is used in another region.
-- |spell| Combined with the highlighting used otherwise.
SpellLocal = { fg = c.brown },
-- Word that is recognized by the spellchecker as one that is hardly ever used.
-- |spell| Combined with the highlighting used otherwise.
SpellRare = { fg = c.brown },
-- status line of current window
StatusLine = { fg = c.white, bg = c.bg1 },
-- status lines of not-current windows Note: if this is equal to "StatusLine"
-- Vim will use "^^^" in the status line of the current window.
StatusLineNC = { fg = c.bg5 },
-- status line of current terminal window
StatusLineTerm = { fg = c.fg, bg = c.bg1 },
-- status lines of not-current terminal windows Note: if this is equal to "StatusLine"
-- Vim will use "^^^" in the status line of the current window.
StatusLineTermNC = { fg = c.bg5 },
-- tab pages line, where there are no labels
TabLineFill = {},
-- tab pages line, active tab page label
TablineSel = { fg = c.white },
Tabline = { fg = c.bg5 },
-- titles for output from ":set all", ":autocmd" etc.
Title = { fg = c.green, bg = c.none, bold = config.bold },
-- Visual mode selection
Visual = { fg = c.none, bg = c.select },
-- Visual mode selection when vim is "Not Owning the Selection".
VisualNOS = { link = 'Visual' },
-- warning messages
WarningMsg = { fg = c.red_1 },
-- "nbsp", "space", "tab" and "trail" in 'listchars'
Whitespace = { fg = c.bg3 },
-- current match in 'wildmenu' completion
WildMenu = { fg = c.black, bg = c.niagara, bold = config.bold },
-- window bar of current window
WinBar = { fg = c.white, bg = c.bg1 },
-- window bar of not-current windows
WinBarNC = { fg = c.bg6, bg = c.bg_1 },
-- Screen-column at the cursor, when 'cursorcolumn' is set.
CursorColumn = { link = 'CursorLine' },
-- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set.
CursorLine = { fg = c.none, bg = c.bg1 },
-- Normal mode message in the cmdline
NormalMode = { fg = c.light_blue, bg = c.none, reverse = config.inverse },
-- Insert mode message in the cmdline
InsertMode = { fg = c.green, bg = c.none, reverse = config.inverse },
-- Replace mode message in the cmdline
ReplacelMode = { fg = c.red, bg = c.none, reverse = config.inverse },
-- Visual mode message in the cmdline
VisualMode = { fg = c.wisteria1, bg = c.none, reverse = config.inverse },
-- Command mode message in the cmdline
CommandMode = { fg = c.yellow, bg = c.none, reverse = config.inverse },
Warnings = { fg = c.red1 },
healthError = { fg = c.red },
healthSuccess = { fg = c.green },
healthWarning = { fg = c.red_1 },
-- Dashboard
DashboardShortCut = { fg = c.light_blue },
DashboardHeader = { fg = c.wisteria1 },
DashboardCenter = { fg = c.niagara },
DashboardFooter = { fg = c.green, italic = config.italic },
-- normal text and background color
Normal = config.transparent and { fg = c.fg, bg = 'NONE' } or { fg = c.fg, bg = c.bg },
NormalNC = config.dim_inactive and { fg = c.fg_1, bg = c.bg_1 } or { link = 'Normal' },
SignColumn = { fg = c.fg, bg = c.none },
-- the column separating vertically split windows
VertSplit = { fg = c.bg },
EndOfBuffer = { fg = c.bg6 },
['@annotation'] = { link = 'Operator' },
['@comment'] = { link = 'Comment' },
['@none'] = { bg = 'NONE', fg = 'NONE' },
['@preproc'] = { link = 'PreProc' },
['@define'] = { link = 'Define' },
['@string'] = { link = 'String' },
['@string.special'] = { link = 'SpecialChar' },
['@character.special'] = { link = 'SpecialChar' },
['@method'] = { link = 'Function' },
['@method.call'] = { link = 'Function' },
['@keyword'] = { link = 'Keyword' },
['@keyword.function'] = { fg = c.yellow, bold = config.bold },
['@keyword.operator'] = { fg = c.yellow },
['@keyword.return'] = { fg = c.yellow },
['@keyword.coroutine'] = { fg = c.yellow },
['@conditional'] = { link = 'Conditional' },
['@repeat'] = { link = 'Repeat' },
['@debug'] = { link = 'Debug' },
['@type'] = { link = 'Type' },
['@type.builtin'] = { fg = c.yellow, bold = config.bold },
['@type.qualifier'] = { fg = c.yellow, bold = config.bold },
['@type.definition'] = { link = 'Typedef' },
['@storageclass'] = { link = 'StorageClass' },
['@variable.builtin'] = { fg = c.wisteria },
['@variable'] = { fg = c.bg6 },
['@text.title'] = { link = 'Title' },
['@text.uri'] = { link = 'Underlined' },
['@text.todo'] = { link = 'Todo' },
['@text.todo.unchecked'] = { link = 'Todo' },
['@text.todo.checked'] = { link = 'Done' },
['@text.note'] = { link = 'SpecialComment' },
['@text.warning'] = { link = 'WarningMsg' },
['@text.danger'] = { link = 'ErrorMsg' },
['@text.strong'] = { bold = config.bold },
['@text.emphasis'] = { italic = config.italic },
['@text.underline'] = { underline = config.underline },
['@note'] = { fg = c.yellow },
['@warning'] = { fg = c.red_1 },
['@danger'] = { fg = c.red1 },
['@parent'] = { fg = c.wisteria },
['@attribute'] = { fg = c.wisteria1 },
['@boolean'] = { fg = c.quartz },
['@character'] = { fg = c.green },
['@constant'] = { fg = c.quartz },
['@constant.builtin'] = { fg = c.wisteria1 },
['@constant.macro'] = { link = 'Macro' },
['@constructor'] = { fg = c.yellow },
['@error'] = { fg = c.red },
['@exception'] = { fg = c.yellow },
['@field'] = { fg = c.niagara },
['@float'] = { fg = c.quartz },
['@function'] = { link = 'Function' },
['@function.builtin'] = { fg = c.niagara1 },
['@function.macro'] = { fg = c.yellow },
['@include'] = { fg = c.quartz },
['@label'] = { fg = c.yellow },
['@namespace'] = { link = 'Structure' },
['@number'] = { fg = c.brown },
['@operator'] = { fg = c.niagara_1 },
['@parameter'] = { link = 'Identifier' }, -- TODO: see what it does
['@parameter.reference'] = { fg = c.wisteria },
['@property'] = { link = 'Identifier' },
['@punctuation.delimiter'] = { fg = c.niagara },
['@punctuation.bracket'] = { fg = c.niagara_1 },
['@punctuation.special'] = { fg = c.niagara },
['@string.regex'] = { fg = c.brown },
['@string.escape'] = { fg = c.brown },
['@symbol'] = { fg = c.light_blue },
['@tag'] = { fg = c.yellow },
['@tag.attribute'] = { fg = c.bg6 },
['@tag.delimiter'] = { fg = c.fg2 },
['@text'] = { fg = c.fg },
['@text.literal'] = { fg = c.green },
['@text.diff.add'] = { fg = c.green },
['@text.diff.delete'] = { fg = c.red_1 },
['@text.math'] = { fg = c.fg },
['@text.reference'] = { fg = c.brown },
['@text.environment'] = { fg = c.fg },
['@text.environment.name'] = { fg = c.fg },
-- used for "Error" diagnostic virtual text
LspDiagnosticsDefaultError = { fg = c.red1 },
-- used for "Error" diagnostic signs in sign column
LspDiagnosticsSignError = { fg = c.red1 },
-- used for "Error" diagnostic messages in the diagnostics float
LspDiagnosticsFloatingError = { fg = c.red1 },
-- Virtual text "Error"
LspDiagnosticsVirtualTextError = { fg = c.red1 },
-- used to underline "Error" diagnostics.
LspDiagnosticsUnderlineError = { underline = config.underline },
-- used for "Warning" diagnostic signs in sign column
LspDiagnosticsDefaultWarning = { fg = c.red_1 },
-- used for "Warning" diagnostic signs in sign column
LspDiagnosticsSignWarning = { fg = c.red_1 },
-- used for "Warning" diagnostic messages in the diagnostics float
LspDiagnosticsFloatingWarning = { fg = c.red_1 },
-- Virtual text "Warning"
LspDiagnosticsVirtualTextWarning = { fg = c.red_1 },
-- used to underline "Warning" diagnostics.
LspDiagnosticsUnderlineWarning = { underline = config.underline },
-- used for "Information" diagnostic virtual text
LspDiagnosticsDefaultInformation = { fg = c.yellow },
-- used for "Information" diagnostic signs in sign column
LspDiagnosticsSignInformation = { fg = c.yellow },
-- used for "Information" diagnostic messages in the diagnostics float
LspDiagnosticsFloatingInformation = { fg = c.yellow },
-- Virtual text "Information"
LspDiagnosticsVirtualTextInformation = { fg = c.yellow },
-- used to underline "Information" diagnostics.
LspDiagnosticsUnderlineInformation = {},
-- used for "Hint" diagnostic virtual text
LspDiagnosticsDefaultHint = { fg = c.wisteria },
-- used for "Hint" diagnostic signs in sign column
LspDiagnosticsSignHint = { fg = c.wisteria },
-- used for "Hint" diagnostic messages in the diagnostics float
LspDiagnosticsFloatingHint = { fg = c.wisteria },
-- Virtual text "Hint"
LspDiagnosticsVirtualTextHint = { fg = c.wisteria },
-- used to underline "Hint" diagnostics.
LspDiagnosticsUnderlineHint = {},
-- used for highlighting "text" references
LspReferenceText = {},
-- used for highlighting "read" references
LspReferenceRead = {},
-- used for highlighting "write" references
LspReferenceWrite = {},
LspSignatureActiveParameter = { fg = c.none, bg = c.bg2 },
LspCodeLens = { fg = c.bg5 },
DiagnosticError = { link = 'LspDiagnosticsDefaultError' },
DiagnosticWarn = { link = 'LspDiagnosticsDefaultWarning' },
DiagnosticInfo = { link = 'LspDiagnosticsDefaultInformation' },
DiagnosticHint = { link = 'LspDiagnosticsDefaultHint' },
DiagnosticVirtualTextWarn = { link = 'LspDiagnosticsVirtualTextWarning' },
DiagnosticUnderlineWarn = { link = 'LspDiagnosticsUnderlineWarning' },
DiagnosticFloatingWarn = { link = 'LspDiagnosticsFloatingWarning' },
DiagnosticSignWarn = { link = 'LspDiagnosticsSignWarning' },
DiagnosticVirtualTextError = { link = 'LspDiagnosticsVirtualTextError' },
DiagnosticUnderlineError = { link = 'LspDiagnosticsUnderlineError' },
DiagnosticFloatingError = { link = 'LspDiagnosticsFloatingError' },
DiagnosticSignError = { link = 'LspDiagnosticsSignError' },
DiagnosticVirtualTextInfo = { link = 'LspDiagnosticsVirtualTextInformation' },
DiagnosticUnderlineInfo = { link = 'LspDiagnosticsUnderlineInformation' },
DiagnosticFloatingInfo = { link = 'LspDiagnosticsFloatingInformation' },
DiagnosticSignInfo = { link = 'LspDiagnosticsSignInformation' },
DiagnosticVirtualTextHint = { link = 'LspDiagnosticsVirtualTextHint' },
DiagnosticUnderlineHint = { link = 'LspDiagnosticsUnderlineHint' },
DiagnosticFloatingHint = { link = 'LspDiagnosticsFloatingHint' },
DiagnosticSignHint = { link = 'LspDiagnosticsSignHint' },
-- Cmp
CmpItemAbbr = { fg = c.fg },
CmpItemAbbrDeprecated = { fg = c.fg },
CmpItemAbbrMatch = { fg = c.wisteria },
CmpItemAbbrMatchFuzzy = { fg = c.wisteria, underline = true },
CmpItemMenu = { fg = c.bg5 },
CmpItemKindText = { fg = c.brown },
CmpItemKindMethod = { fg = c.wisteria },
CmpItemKindFunction = { fg = c.wisteria },
CmpItemKindConstructor = { fg = c.yellow },
CmpItemKindField = { fg = c.wisteria },
CmpItemKindClass = { fg = c.yellow },
CmpItemKindInterface = { fg = c.yellow },
CmpItemKindModule = { fg = c.wisteria },
CmpItemKindProperty = { fg = c.wisteria },
CmpItemKindValue = { fg = c.brown },
CmpItemKindEnum = { fg = c.yellow },
CmpItemKindKeyword = { fg = c.wisteria1 },
CmpItemKindSnippet = { fg = c.green },
CmpItemKindFile = { fg = c.wisteria },
CmpItemKindEnumMember = { fg = c.light_blue },
CmpItemKindConstant = { fg = c.brown },
CmpItemKindStruct = { fg = c.yellow },
CmpItemKindTypeParameter = { fg = c.yellow },
-- Notify
NotifyERRORBorder = { fg = c.red1 },
NotifyWARNBorder = { fg = c.red_1 },
NotifyINFOBorder = { fg = c.yellow },
NotifyDEBUGBorder = { fg = c.bg5 },
NotifyTRACEBorder = { fg = c.wisteria },
NotifyERRORIcon = { fg = c.red1 },
NotifyWARNIcon = { fg = c.red_1 },
NotifyINFOIcon = { fg = c.yellow },
NotifyDEBUGIcon = { fg = c.bg5 },
NotifyTRACEIcon = { fg = c.wisteria },
NotifyERRORTitle = { fg = c.red1 },
NotifyWARNTitle = { fg = c.red_1 },
NotifyINFOTitle = { fg = c.yellow },
NotifyDEBUGTitle = { fg = c.bg5 },
NotifyTRACETitle = { fg = c.wisteria },
-- Trouble
TroubleCount = { fg = c.wisteria1 },
TroubleNormal = { fg = c.fg },
TroubleText = { fg = c.fg },
-- Diff
-- diffAdded = { fg = c.green, bg = c.bg1 },
-- diffRemoved = { fg = c.red_1, bg = c.bg1 },
-- diffChanged = { fg = c.yellow },
-- diffOldFile = { fg = c.brown },
-- diffNewFile = { fg = c.light_blue },
-- diffFile = { fg = c.wisteria },
-- diffLine = { fg = c.bg5 },
-- diffIndexLine = { fg = c.wisteria1 },
-- Neogit
NeogitBranch = { fg = c.yellow },
NeogitRemote = { fg = c.brown },
NeogitHunkHeader = { fg = c.fg, bg = c.bg1 },
NeogitHunkHeaderHighlight = { fg = c.yellow, bg = c.bg1 },
NeogitDiffContextHighlight = { bg = c.none },
NeogitDiffDeleteHighlight = { fg = c.red_1, bg = c.none },
NeogitDiffDeleteRegion = { fg = c.red_1, bg = c.none },
NeogitDiffAddHighlight = { fg = c.green, bg = c.none },
NeogitDiffAddRegion = { fg = c.green, bg = c.none },
NeogitDiffDelete = { fg = c.red },
NeogitDiffAdd = { fg = c.green },
NeogitCommitViewHeader = { fg = c.quartz },
NeogitNotificationInfo = { fg = c.wisteria },
NeogitNotificationWarning = { fg = c.brown },
NeogitNotificationError = { fg = c.red_1 },
-- WhichKey
WhichKey = { fg = c.wisteria1 },
WhichKeyGroup = { fg = c.light_blue },
WhichKeyDesc = { fg = c.wisteria },
WhichKeySeperator = { fg = c.green },
WhichKeyFloat = { bg = c.bg1 },
-- nvim-treesitter-context
TreesitterContext = { fg = c.none, bg = c.bg1 },
-- Indent Blankline
IndentBlanklineChar = { fg = c.niagara_2 },
IndentBlanklineSpaceChar = { fg = c.bg5 },
IndentBlanklineSpaceCharBlankline = { fg = c.bg5 },
IndentBlanklineContextChar = { fg = c.wisteria1 },
IndentBlanklineContextStart = {},
-- Nvim dap
DapBreakpoint = { fg = c.red },
DapStopped = { fg = c.green },
-- Hop
HopNextKey = { fg = c.red1 },
HopNextKey1 = { fg = c.light_blue },
HopNextKey2 = { fg = c.wisteria1 },
HopUnmatched = { fg = c.bg5 },
}
--[[ for group, hl in pairs(config.overrides) do
if groups[group] then
-- "link" should not mix with other configs (:h hi-link)
groups[group].link = nil
end
groups[group] = vim.tbl_extend('force', groups[group] or {}, hl)
end ]]
return groups
end
return M