Finished most of the structure rewrite, split up the highlight definitions into separate files

This commit is contained in:
Jan Polak 2023-12-06 09:44:46 +01:00
parent 2717913a11
commit 3f24246435
22 changed files with 541 additions and 1070 deletions

View File

@ -1,4 +1,2 @@
lua << EOF
local flexoki = require('flexoki')
flexoki.colorscheme({ variant = 'dark' })
EOF

View File

@ -1,4 +1,2 @@
lua << EOF
local flexoki = require('flexoki')
flexoki.colorscheme({ variant = 'light' })
EOF

View File

@ -1,5 +1,4 @@
---@alias Variant 'dark' | 'light'
---@alias Color { fg: string, bg: string, sp: string, bold: boolean, italic: boolean, undercurl: boolean, underline: boolean, underdouble: boolean, underdotted: boolean, underdashed: boolean, strikethrough: boolean }
local M = {}
@ -21,47 +20,7 @@ M.options = {
---@type Variant
light_variant = 'light',
bold_vert_split = false,
dim_nc_background = false,
disable_background = false,
disable_float_background = false,
disable_italics = false,
groups = {
background = 'base',
background_nc = 'nc',
panel = 'surface',
panel_nc = 'base',
border = 'highlight_med',
comment = 'muted',
link = 'iris',
punctuation = 'muted',
error = 'love',
hint = 'iris',
info = 'foam',
warn = 'gold',
git_add = 'foam',
git_change = 'rose',
git_delete = 'love',
git_dirty = 'rose',
git_ignore = 'muted',
git_merge = 'iris',
git_rename = 'pine',
git_stage = 'iris',
git_text = 'rose',
headings = {
h1 = 'iris',
h2 = 'foam',
h3 = 'rose',
h4 = 'gold',
h5 = 'pine',
h6 = 'foam',
},
},
---@type table<string, Color>
---@type table<string, vim.api.keyset.highlight>
highlight_groups = {},
}

View File

@ -0,0 +1,13 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
}
end
return M

View File

@ -0,0 +1,108 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["Normal"] = { fg = c.fg, bg = c.bg },
["SignColumn"] = { fg = 'NONE', bg = c.bg },
["MsgArea"] = { fg = c.fg, bg = c.bg },
["ModeMsg"] = { fg = c.fg, bg = c.dark },
["MsgSeparator"] = { fg = c.fg, bg = c.bg },
["SpellBad"] = { fg = c.light_red, bg = 'NONE', underline = true, },
["SpellCap"] = { fg = c.yellow, bg = 'NONE', underline = true, },
["SpellLocal"] = { fg = c.green, bg = 'NONE', underline = true, },
["SpellRare"] = { fg = c.purple, bg = 'NONE', underline = true, },
["NormalNC"] = { fg = c.fg, bg = c.bg },
["Pmenu"] = { fg = c.light_gray, bg = c.tree_gray, sp = 'NONE', blend = 50, },
["PmenuSel"] = { fg = 'NONE', bg = c.ui2_blue },
["WildMenu"] = { fg = c.fg, bg = c.ui2_blue },
["CursorLineNr"] = { fg = c.light_gray, bg = 'NONE', bold = true, },
["Comment"] = { fg = c.gray, bg = 'NONE', italic = true, },
["Folded"] = { fg = c.accent, bg = c.alt_bg },
["FoldColumn"] = { fg = c.accent, bg = c.alt_bg },
["LineNr"] = { fg = c.gray, bg = 'NONE' },
["FloatBorder"] = { fg = c.gray, bg = c.alt_bg },
["Whitespace"] = { fg = c.bg, bg = 'NONE' },
["VertSplit"] = { fg = c.gray, bg = c.bg },
["CursorLine"] = { fg = 'NONE', bg = c.dark },
["CursorColumn"] = { fg = 'NONE', bg = c.dark },
["ColorColumn"] = { fg = 'NONE', bg = c.dark },
["NormalFloat"] = { fg = 'NONE', bg = c.dark },
["Visual"] = { fg = 'NONE', bg = c.ui_blue },
["VisualNOS"] = { fg = 'NONE', bg = c.alt_bg },
["WarningMsg"] = { fg = c.error_red, bg = c.bg },
["DiffAdd"] = { fg = c.alt_bg, bg = c.sign_add },
["DiffChange"] = { fg = c.alt_bg, bg = c.sign_change, underline = true, },
["DiffDelete"] = { fg = c.alt_bg, bg = c.sign_delete },
["QuickFixLine"] = { fg = 'NONE', bg = c.ui2_blue },
["PmenuSbar"] = { fg = 'NONE', bg = c.alt_bg },
["PmenuThumb"] = { fg = 'NONE', bg = c.gray },
["MatchWord"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["MatchParen"] = { fg = c.hint_blue, bg = c.bg, underline = true, },
["MatchWordCur"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["MatchParenCur"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["Cursor"] = { fg = c.cursor_fg, bg = c.cursor_bg },
["lCursor"] = { fg = c.cursor_fg, bg = c.cursor_bg },
["CursorIM"] = { fg = c.cursor_fg, bg = c.cursor_bg },
["TermCursor"] = { fg = c.cursor_fg, bg = c.cursor_bg },
["TermCursorNC"] = { fg = c.cursor_fg, bg = c.cursor_bg },
["Conceal"] = { fg = c.accent, bg = 'NONE' },
["Directory"] = { fg = c.blue, bg = 'NONE' },
["SpecialKey"] = { fg = c.blue, bg = 'NONE', bold = true, },
["Title"] = { fg = c.blue, bg = 'NONE', bold = true, },
["ErrorMsg"] = { fg = c.error_red, bg = c.bg, bold = true, },
["Search"] = { fg = c.light_gray, bg = c.search_blue },
["IncSearch"] = { fg = c.search_orange, bg = c.light_gray },
["Substitute"] = { fg = c.light_gray, bg = c.search_orange },
["MoreMsg"] = { fg = c.orange, bg = 'NONE' },
["Question"] = { fg = c.orange, bg = 'NONE' },
["EndOfBuffer"] = { fg = c.bg, bg = 'NONE' },
["NonText"] = { fg = c.bg, bg = 'NONE' },
["Variable"] = { fg = c.light_blue, bg = 'NONE' },
["String"] = { fg = c.orange, bg = 'NONE' },
["Character"] = { fg = c.orange, bg = 'NONE' },
["Constant"] = { fg = c.vivid_blue, bg = 'NONE' },
["Number"] = { fg = c.light_green, bg = 'NONE' },
["Boolean"] = { fg = c.blue, bg = 'NONE' },
["Float"] = { fg = c.light_green, bg = 'NONE' },
["Identifier"] = { fg = c.light_blue, bg = 'NONE' },
["Function"] = { fg = c.yellow, bg = 'NONE' },
["Operator"] = { fg = c.fg, bg = 'NONE' },
["Type"] = { fg = c.cyan, bg = 'NONE' },
["StorageClass"] = { fg = c.blue, bg = 'NONE' },
["Structure"] = { fg = c.blue, bg = 'NONE' },
["Typedef"] = { fg = c.blue, bg = 'NONE' },
["Keyword"] = { fg = c.blue, bg = 'NONE' },
["Statement"] = { fg = c.purple, bg = 'NONE' },
["Conditional"] = { fg = c.blue, bg = 'NONE' },
["Repeat"] = { fg = c.purple, bg = 'NONE' },
["Label"] = { fg = c.purple, bg = 'NONE' },
["Exception"] = { fg = c.purple, bg = 'NONE' },
["Include"] = { fg = c.purple, bg = 'NONE' },
["PreProc"] = { fg = c.purple, bg = 'NONE' },
["Define"] = { fg = c.purple, bg = 'NONE' },
["Macro"] = { fg = c.purple, bg = 'NONE' },
["PreCondit"] = { fg = c.purple, bg = 'NONE' },
["Special"] = { fg = c.orange, bg = 'NONE' },
["SpecialChar"] = { fg = c.white, bg = 'NONE' },
["Tag"] = { fg = c.blue, bg = 'NONE' },
["Debug"] = { fg = c.red, bg = 'NONE' },
["Delimiter"] = { fg = c.gray, bg = 'NONE' },
["SpecialComment"] = { fg = c.gray, bg = 'NONE' },
["Underlined"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["Bold"] = { fg = 'NONE', bg = 'NONE', bold = true, },
["Italic"] = { fg = 'NONE', bg = 'NONE', italic = true, },
["Ignore"] = { fg = c.cyan, bg = c.bg, bold = true, },
["Todo"] = { fg = c.magenta, bg = c.bg, bold = true, },
["Error"] = { fg = c.error_red, bg = c.bg, bold = true, },
["TabLine"] = { fg = c.light_gray, bg = c.line },
["TabLineSel"] = { fg = c.white, bg = c.line },
["TabLineFill"] = { fg = c.line, bg = c.line }
}
end
return M

View File

@ -0,0 +1,28 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["BufferCurrent"] = { fg = c.fg, bg = c.bg },
["BufferCurrentIndex"] = { fg = c.fg, bg = c.bg },
["BufferCurrentMod"] = { fg = c.info_yellow, bg = c.bg },
["BufferCurrentSign"] = { fg = c.hint_blue, bg = c.bg },
["BufferCurrentTarget"] = { fg = c.red, bg = c.bg, bold = true, },
["BufferVisible"] = { fg = c.fg, bg = c.bg },
["BufferVisibleIndex"] = { fg = c.fg, bg = c.bg },
["BufferVisibleMod"] = { fg = c.info_yellow, bg = c.bg },
["BufferVisibleSign"] = { fg = c.gray, bg = c.bg },
["BufferVisibleTarget"] = { fg = c.red, bg = c.bg, bold = true, },
["BufferInactive"] = { fg = c.gray, bg = c.alt_bg },
["BufferInactiveIndex"] = { fg = c.gray, bg = c.alt_bg },
["BufferInactiveMod"] = { fg = c.info_yellow, bg = c.alt_bg },
["BufferInactiveSign"] = { fg = c.gray, bg = c.alt_bg },
["BufferInactiveTarget"] = { fg = c.red, bg = c.alt_bg, bold = true, },
}
end
return M

View File

@ -0,0 +1,41 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["CmpItemAbbrDeprecated"] = { fg = c.gray, bg = 'NONE', strikethrough = true, },
["CmpItemAbbrMatch"] = { fg = c.ui3_blue, bg = 'NONE' },
["CmpItemAbbrMatchFuzzy"] = { fg = c.ui3_blue, bg = 'NONE' },
["CmpItemKindFunction"] = { fg = c.blue, bg = 'NONE' },
["CmpItemKindMethod"] = { fg = c.blue, bg = 'NONE' },
["CmpItemKindConstructor"] = { fg = c.cyan, bg = 'NONE' },
["CmpItemKindClass"] = { fg = c.cyan, bg = 'NONE' },
["CmpItemKindEnum"] = { fg = c.cyan, bg = 'NONE' },
["CmpItemKindEvent"] = { fg = c.yellow, bg = 'NONE' },
["CmpItemKindInterface"] = { fg = c.cyan, bg = 'NONE' },
["CmpItemKindStruct"] = { fg = c.cyan, bg = 'NONE' },
["CmpItemKindVariable"] = { fg = c.red, bg = 'NONE' },
["CmpItemKindField"] = { fg = c.red, bg = 'NONE' },
["CmpItemKindProperty"] = { fg = c.red, bg = 'NONE' },
["CmpItemKindEnumMember"] = { fg = c.orange, bg = 'NONE' },
["CmpItemKindConstant"] = { fg = c.orange, bg = 'NONE' },
["CmpItemKindKeyword"] = { fg = c.purple, bg = 'NONE' },
["CmpItemKindModule"] = { fg = c.cyan, bg = 'NONE' },
["CmpItemKindValue"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindUnit"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindText"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindSnippet"] = { fg = c.yellow, bg = 'NONE' },
["CmpItemKindFile"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindFolder"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindColor"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindReference"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindOperator"] = { fg = c.fg, bg = 'NONE' },
["CmpItemKindTypeParameter"] = { fg = c.red, bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,16 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["DashboardHeader"] = { fg = c.blue, bg = 'NONE' },
["DashboardCenter"] = { fg = c.purple, bg = 'NONE' },
["DashboardFooter"] = { fg = c.cyan, bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,19 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["SignAdd"] = { fg = c.sign_add, bg = 'NONE' },
["SignChange"] = { fg = c.sign_change, bg = 'NONE' },
["SignDelete"] = { fg = c.sign_delete, bg = 'NONE' },
["GitSignsAdd"] = { fg = c.sign_add, bg = 'NONE' },
["GitSignsChange"] = { fg = c.sign_change, bg = 'NONE' },
["GitSignsDelete"] = { fg = c.sign_delete, bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,18 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["IndentBlanklineContextChar"] = { fg = c.context, bg = 'NONE' },
["IndentBlanklineContextStart"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["IndentBlanklineChar"] = { fg = c.dark_gray, bg = 'NONE' },
["IndentBlanklineSpaceChar"] = { fg = c.cyan_test, bg = 'NONE' },
["IndentBlanklineSpaceCharBlankline"] = { fg = c.info_yellow, bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,35 @@
local M = {}
M.groups = function ()
-- This could be done dynamically by looking for all files, but this approach is fine and is safer
local modules = {
require('flexoki.highlights.base').groups(),
require('flexoki.highlights.buffer').groups(),
require('flexoki.highlights.cmp').groups(),
require('flexoki.highlights.dashboard').groups(),
require('flexoki.highlights.git').groups(),
require('flexoki.highlights.indent-blank-line').groups(),
require('flexoki.highlights.lsp').groups(),
require('flexoki.highlights.markdown').groups(),
require('flexoki.highlights.nvimtree').groups(),
require('flexoki.highlights.statusline').groups(),
require('flexoki.highlights.telescope').groups(),
require('flexoki.highlights.treesitter').groups(),
require('flexoki.highlights.whichkey').groups(),
}
--- @type table<string, vim.api.keyset.highlight>
local result = {}
-- Just takes the list of "modules" from above and combines them all into a single table/array
for _, groups in pairs(modules) do
for highlightGroup, group in pairs(groups) do
result[highlightGroup] = group
end
end
return result
end
return M

View File

@ -0,0 +1,53 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["LspDiagnosticsDefaultError"] = { fg = c.error_red, bg = 'NONE' },
["LspDiagnosticsDefaultWarning"] = { fg = c.warning_orange, bg = 'NONE' },
["LspDiagnosticsDefaultInformation"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsDefaultInfo"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsDefaultHint"] = { fg = c.hint_blue, bg = 'NONE' },
["LspDiagnosticsVirtualTextError"] = { fg = c.error_red, bg = 'NONE' },
["LspDiagnosticsVirtualTextWarning"] = { fg = c.warning_orange, bg = 'NONE' },
["LspDiagnosticsVirtualTextInformation"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsVirtualTextInfo"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsVirtualTextHint"] = { fg = c.hint_blue, bg = 'NONE' },
["LspDiagnosticsFloatingError"] = { fg = c.error_red, bg = 'NONE' },
["LspDiagnosticsFloatingWarning"] = { fg = c.warning_orange, bg = 'NONE' },
["LspDiagnosticsFloatingInformation"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsFloatingInfo"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsFloatingHint"] = { fg = c.hint_blue, bg = 'NONE' },
["DiagnosticSignError"] = { fg = c.error_red, bg = 'NONE' },
["DiagnosticSignWarning"] = { fg = c.warning_orange, bg = 'NONE' },
["DiagnosticSignInformation"] = { fg = c.info_yellow, bg = 'NONE' },
["DiagnosticSignInfo"] = { fg = c.info_yellow, bg = 'NONE' },
["DiagnosticSignHint"] = { fg = c.hint_blue, bg = 'NONE' },
["LspDiagnosticsSignError"] = { fg = c.error_red, bg = 'NONE' },
["LspDiagnosticsSignWarning"] = { fg = c.warning_orange, bg = 'NONE' },
["LspDiagnosticsSignInformation"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsSignInfo"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsSignHint"] = { fg = c.hint_blue, bg = 'NONE' },
["LspDiagnosticsError"] = { fg = c.error_red, bg = 'NONE' },
["LspDiagnosticsWarning"] = { fg = c.warning_orange, bg = 'NONE' },
["LspDiagnosticsInformation"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsInfo"] = { fg = c.info_yellow, bg = 'NONE' },
["LspDiagnosticsHint"] = { fg = c.hint_blue, bg = 'NONE' },
["LspDiagnosticsUnderlineError"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["LspDiagnosticsUnderlineWarning"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["LspDiagnosticsUnderlineInformation"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["LspDiagnosticsUnderlineInfo"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["LspDiagnosticsUnderlineHint"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["LspReferenceRead"] = { fg = 'NONE', bg = '#2e303b' },
["LspReferenceText"] = { fg = 'NONE', bg = '#2e303b' },
["LspReferenceWrite"] = { fg = 'NONE', bg = '#2e303b' },
["LspCodeLens"] = { fg = c.context, bg = 'NONE', italic = true, },
["LspCodeLensSeparator"] = { fg = c.context, bg = 'NONE', italic = true, },
}
end
return M

View File

@ -0,0 +1,40 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["markdownBlockquote"] = { fg = c.green, bg = 'NONE' },
["markdownCode"] = { fg = c.orange, bg = 'NONE' },
["markdownCodeBlock"] = { fg = c.orange, bg = 'NONE' },
["markdownCodeDelimiter"] = { fg = c.orange, bg = 'NONE' },
["markdownH1"] = { fg = c.blue, bg = 'NONE' },
["markdownH2"] = { fg = c.blue, bg = 'NONE' },
["markdownH3"] = { fg = c.blue, bg = 'NONE' },
["markdownH4"] = { fg = c.blue, bg = 'NONE' },
["markdownH5"] = { fg = c.blue, bg = 'NONE' },
["markdownH6"] = { fg = c.blue, bg = 'NONE' },
["markdownHeadingDelimiter"] = { fg = c.blue, bg = 'NONE' },
["markdownHeadingRule"] = { fg = c.fg, bg = 'NONE', bold = true, },
["markdownId"] = { fg = c.purple, bg = 'NONE' },
["markdownIdDeclaration"] = { fg = c.blue, bg = 'NONE' },
["markdownIdDelimiter"] = { fg = c.light_gray, bg = 'NONE' },
["markdownLinkDelimiter"] = { fg = c.light_gray, bg = 'NONE' },
["markdownBold"] = { fg = c.blue, bg = 'NONE', bold = true, },
["markdownItalic"] = { fg = 'NONE', bg = 'NONE', italic = true, },
["markdownBoldItalic"] = { fg = c.yellow, bg = 'NONE', bold = true, italic = true, },
["markdownListMarker"] = { fg = c.blue, bg = 'NONE' },
["markdownOrderedListMarker"] = { fg = c.blue, bg = 'NONE' },
["markdownRule"] = { fg = c.accent, bg = 'NONE' },
["markdownUrl"] = { fg = c.cyan, bg = 'NONE', underline = true, },
["markdownLinkText"] = { fg = c.blue, bg = 'NONE' },
["markdownFootnote"] = { fg = c.orange, bg = 'NONE' },
["markdownFootnoteDefinition"] = { fg = c.orange, bg = 'NONE' },
["markdownEscape"] = { fg = c.yellow, bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,35 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["NvimTreeFolderIcon"] = { fg = c.folder_blue, bg = 'NONE' },
["NvimTreeIndentMarker"] = { fg = '#c5c5c5', bg = 'NONE' },
["NvimTreeNormal"] = { fg = c.light_gray, bg = c.tree_gray },
["NvimTreeVertSplit"] = { fg = c.alt_bg, bg = c.alt_bg },
["NvimTreeFolderName"] = { fg = c.folder_blue, bg = 'NONE' },
["NvimTreeOpenedFolderName"] = { fg = c.folder_blue, bg = 'NONE', bold = true, italic = true, },
["NvimTreeEmptyFolderName"] = { fg = c.gray, bg = 'NONE', italic = true, },
["NvimTreeGitIgnored"] = { fg = c.gray, bg = 'NONE', italic = true, },
["NvimTreeImageFile"] = { fg = c.light_gray, bg = 'NONE' },
["NvimTreeSpecialFile"] = { fg = c.orange, bg = 'NONE' },
["NvimTreeEndOfBuffer"] = { fg = c.tree_gray, bg = 'NONE' },
["NvimTreeCursorLine"] = { fg = 'NONE', bg = '#282b37' },
["NvimTreeGitignoreIcon"] = { fg = '#E64A19', bg = 'NONE' },
["NvimTreeGitStaged"] = { fg = c.tree_sign_add, bg = 'NONE' },
["NvimTreeGitNew"] = { fg = c.tree_sign_add, bg = 'NONE' },
["NvimTreeGitRenamed"] = { fg = c.tree_sign_add, bg = 'NONE' },
["NvimTreeGitDeleted"] = { fg = c.sign_delete, bg = 'NONE' },
["NvimTreeGitMerge"] = { fg = c.tree_sign_change, bg = 'NONE' },
["NvimTreeGitDirty"] = { fg = c.tree_sign_change, bg = 'NONE' },
["NvimTreeSymlink"] = { fg = c.cyan, bg = 'NONE' },
["NvimTreeRootFolder"] = { fg = c.fg, bg = 'NONE', bold = true, },
["NvimTreeExecFile"] = { fg = '#9FBA89', bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,18 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["StatusLine"] = { fg = c.line, bg = c.gray },
["StatusLineNC"] = { fg = c.line, bg = c.gray },
["StatusLineSeparator"] = { fg = c.line, bg = 'NONE' },
["StatusLineTerm"] = { fg = c.line, bg = 'NONE' },
["StatusLineTermNC"] = { fg = c.line, bg = 'NONE' },
}
end
return M

View File

@ -0,0 +1,16 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["TelescopeSelection"] = { fg = c.hint_blue, bg = 'NONE' },
["TelescopeMatching"] = { fg = c.info_yellow, bg = 'NONE', bold = true, },
["TelescopeBorder"] = { fg = c.blue, bg = c.bg },
}
end
return M

View File

@ -0,0 +1,68 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["TSComment"] = { link = 'Comment' },
["TSAnnotation"] = { fg = c.blue, bg = 'NONE' },
["TSAttribute"] = { fg = c.cyan, bg = 'NONE' },
["TSConstructor"] = { fg = c.cyan, bg = 'NONE' },
["TSType"] = { fg = c.cyan, bg = 'NONE' },
["TSTypeBuiltin"] = { fg = c.orange, bg = 'NONE' },
["TSConditional"] = { fg = c.yellow, bg = 'NONE' },
["TSException"] = { fg = c.purple, bg = 'NONE' },
["TSInclude"] = { fg = c.purple, bg = 'NONE' },
["TSKeywordReturn"] = { fg = c.purple, bg = 'NONE' },
["TSKeyword"] = { fg = c.purple, bg = 'NONE' },
["TSKeywordFunction"] = { fg = c.purple, bg = 'NONE' },
["TSLabel"] = { fg = c.light_blue, bg = 'NONE' },
["TSNamespace"] = { fg = c.cyan, bg = 'NONE' },
["TSRepeat"] = { fg = c.yellow, bg = 'NONE' },
["TSConstant"] = { fg = c.orange, bg = 'NONE' },
["TSConstBuiltin"] = { fg = c.orange, bg = 'NONE' },
["TSFloat"] = { fg = c.orange, bg = 'NONE' },
["TSNumber"] = { fg = c.orange, bg = 'NONE' },
["TSBoolean"] = { fg = c.orange, bg = 'NONE' },
["TSCharacter"] = { fg = c.green, bg = 'NONE' },
["TSError"] = { fg = c.error_red, bg = 'NONE' },
["TSFunction"] = { fg = c.blue, bg = 'NONE' },
["TSFuncBuiltin"] = { fg = c.blue, bg = 'NONE' },
["TSMethod"] = { fg = c.blue, bg = 'NONE' },
["TSConstMacro"] = { fg = c.orange, bg = 'NONE' },
["TSFuncMacro"] = { fg = c.blue, bg = 'NONE' },
["TSVariable"] = { fg = c.light_blue, bg = 'NONE' },
["TSVariableBuiltin"] = { fg = c.red, bg = 'NONE' },
["TSProperty"] = { fg = c.red, bg = 'NONE' },
["TSField"] = { fg = c.fg, bg = 'NONE' },
["TSParameter"] = { fg = c.red, bg = 'NONE' },
["TSParameterReference"] = { fg = c.red, bg = 'NONE' },
["TSSymbol"] = { fg = c.light_blue, bg = 'NONE' },
["TSText"] = { fg = c.alt_fg, bg = 'NONE' },
["TSOperator"] = { fg = c.alt_fg, bg = 'NONE' },
["TSPunctDelimiter"] = { fg = c.alt_fg, bg = 'NONE' },
["TSTagDelimiter"] = { fg = c.alt_fg, bg = 'NONE' },
["TSTagAttribute"] = { fg = c.orange, bg = 'NONE' },
["TSPunctBracket"] = { fg = c.alt_fg, bg = 'NONE' },
["TSPunctSpecial"] = { fg = c.purple, bg = 'NONE' },
["TSString"] = { fg = c.green, bg = 'NONE' },
["TSStringRegex"] = { fg = c.green, bg = 'NONE' },
["TSStringEscape"] = { fg = c.green, bg = 'NONE' },
["TSTag"] = { fg = c.blue, bg = 'NONE' },
["TSEmphasis"] = { fg = 'NONE', bg = 'NONE', italic = true, },
["TSUnderline"] = { fg = 'NONE', bg = 'NONE', underline = true, },
["TSTitle"] = { fg = c.fg, bg = 'NONE', },
["TSLiteral"] = { fg = c.orange, bg = 'NONE' },
["TSURI"] = { fg = c.orange, bg = 'NONE', underline = true, },
["TSKeywordOperator"] = { fg = c.purple, bg = 'NONE' },
["TSStructure"] = { fg = c.light_blue, bg = 'NONE' },
["TSStrong"] = { fg = c.blue, bg = 'NONE', bold = true, },
["TSQueryLinterError"] = { fg = c.warning_orange, bg = 'NONE' },
["TreesitterContext"] = { fg = 'NONE', bg = c.tree_gray },
}
end
return M

View File

@ -0,0 +1,18 @@
local palette = require('flexoki.palette')
local M = {}
M.groups = function()
local c = palette.palette()
--- @type table<string, vim.api.keyset.highlight>
return {
["WhichKey"] = { fg = c.purple, bg = 'NONE' },
["WhichKeySeparator"] = { fg = c.green, bg = 'NONE' },
["WhichKeyGroup"] = { fg = c.blue, bg = 'NONE' },
["WhichKeyDesc"] = { fg = c.light_blue, bg = 'NONE' },
["WhichKeyFloat"] = { fg = 'NONE', bg = c.dark },
}
end
return M

View File

@ -16,7 +16,7 @@ M.colorscheme = function(opts)
vim.g.colors_name = 'flexoki'
require('flexoki.theme').set_highlights()
require('flexoki.theme').set_highlights(opts)
end
---Set up the Flexoki colorscheme

View File

@ -1,344 +0,0 @@
local c = require('flexoki.palette-light')
local hl = vim.api.nvim_set_hl
local theme = {}
theme.set_highlights = function()
-- highlights
hl(0, "Normal", { fg = c.fg, bg = c.bg })
hl(0, "SignColumn", { fg = 'NONE', bg = c.bg })
hl(0, "MsgArea", { fg = c.fg, bg = c.bg })
hl(0, "ModeMsg", { fg = c.fg, bg = c.bg })
hl(0, "MsgSeparator", { fg = c.fg, bg = c.bg })
hl(0, "SpellBad", { fg = c.light_red, bg = 'NONE', underline=true, })
hl(0, "SpellCap", { fg = c.yellow, bg = 'NONE', underline=true, })
hl(0, "SpellLocal", { fg = c.green, bg = 'NONE', underline=true, })
hl(0, "SpellRare", { fg = c.purple, bg = 'NONE', underline=true, })
hl(0, "NormalNC", { fg = c.fg, bg = c.bg })
hl(0, "Pmenu", { fg = c.light_gray, bg = c.tree_gray, sp = 'NONE', blend=50, })
hl(0, "PmenuSel", { fg = 'NONE', bg = c.ui2_blue })
hl(0, "WildMenu", { fg = c.fg, bg = c.ui2_blue })
hl(0, "CursorLineNr", { fg = c.light_gray, bg = 'NONE', bold=true, })
hl(0, "Comment", { fg = c.dark_gray, bg = 'NONE', italic=true, })
hl(0, "Folded", { fg = c.accent, bg = c.alt_bg })
hl(0, "FoldColumn", { fg = c.accent, bg = c.alt_bg })
hl(0, "LineNr", { fg = c.gray, bg = 'NONE' })
hl(0, "FloatBorder", { fg = c.gray, bg = c.alt_bg })
hl(0, "Whitespace", { fg = c.bg, bg = 'NONE' })
hl(0, "VertSplit", { fg = c.gray, bg = c.bg })
hl(0, "CursorLine", { fg = 'NONE', bg = c.cursor_bg })
hl(0, "CursorColumn", { fg = 'NONE', bg = c.cursor_bg })
hl(0, "ColorColumn", { fg = 'NONE', bg = c.cursor_bg })
hl(0, "NormalFloat", { fg = 'NONE', bg = c.dark })
hl(0, "Visual", { fg = 'NONE', bg = c.gray })
hl(0, "VisualNOS", { fg = 'NONE', bg = c.alt_bg })
hl(0, "WarningMsg", { fg = c.error_red, bg = c.bg })
hl(0, "DiffAdd", { fg = c.alt_bg, bg = c.sign_add })
hl(0, "DiffChange", { fg = c.alt_bg, bg = c.sign_change, underline=true, })
hl(0, "DiffDelete", { fg = c.alt_bg, bg = c.sign_delete })
hl(0, "QuickFixLine", { fg = 'NONE', bg = c.ui2_blue })
hl(0, "PmenuSbar", { fg = 'NONE', bg = c.alt_bg })
hl(0, "PmenuThumb", { fg = 'NONE', bg = c.gray })
hl(0, "MatchWord", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "MatchParen", { fg = c.hint_blue, bg = c.bg, underline=true, })
hl(0, "MatchWordCur", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "MatchParenCur", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "Cursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "lCursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "CursorIM", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "TermCursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "TermCursorNC", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "Conceal", { fg = c.accent, bg = 'NONE' })
hl(0, "Directory", { fg = c.blue, bg = 'NONE' })
hl(0, "SpecialKey", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "Title", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "ErrorMsg", { fg = c.error_red, bg = c.bg, bold=true, })
hl(0, "Search", { fg = c.light_gray, bg = c.search_blue })
hl(0, "IncSearch", { fg = c.search_orange, bg = c.light_gray })
hl(0, "Substitute", { fg = c.light_gray, bg = c.search_orange })
hl(0, "MoreMsg", { fg = c.orange, bg = 'NONE' })
hl(0, "Question", { fg = c.orange, bg = 'NONE' })
hl(0, "EndOfBuffer", { fg = c.bg, bg = 'NONE' })
hl(0, "NonText", { fg = c.bg, bg = 'NONE' })
hl(0, "Variable", { fg = c.light_blue, bg = 'NONE' })
hl(0, "String", { fg = c.orange, bg = 'NONE' })
hl(0, "Character", { fg = c.orange, bg = 'NONE' })
hl(0, "Constant", { fg = c.vivid_blue, bg = 'NONE' })
hl(0, "Number", { fg = c.light_green, bg = 'NONE' })
hl(0, "Boolean", { fg = c.blue, bg = 'NONE' })
hl(0, "Float", { fg = c.light_green, bg = 'NONE' })
hl(0, "Identifier", { fg = c.light_blue, bg = 'NONE' })
hl(0, "Function", { fg = c.yellow, bg = 'NONE' })
hl(0, "Operator", { fg = c.fg, bg = 'NONE' })
hl(0, "Type", { fg = c.cyan, bg = 'NONE' })
hl(0, "StorageClass", { fg = c.blue, bg = 'NONE' })
hl(0, "Structure", { fg = c.blue, bg = 'NONE' })
hl(0, "Typedef", { fg = c.blue, bg = 'NONE' })
hl(0, "Keyword", { fg = c.blue, bg = 'NONE' })
hl(0, "Statement", { fg = c.purple, bg = 'NONE' })
hl(0, "Conditional", { fg = c.blue, bg = 'NONE' })
hl(0, "Repeat", { fg = c.purple, bg = 'NONE' })
hl(0, "Label", { fg = c.purple, bg = 'NONE' })
hl(0, "Exception", { fg = c.purple, bg = 'NONE' })
hl(0, "Include", { fg = c.purple, bg = 'NONE' })
hl(0, "PreProc", { fg = c.purple, bg = 'NONE' })
hl(0, "Define", { fg = c.purple, bg = 'NONE' })
hl(0, "Macro", { fg = c.purple, bg = 'NONE' })
hl(0, "PreCondit", { fg = c.purple, bg = 'NONE' })
hl(0, "Special", { fg = c.orange, bg = 'NONE' })
hl(0, "SpecialChar", { fg = c.white, bg = 'NONE' })
hl(0, "Tag", { fg = c.blue, bg = 'NONE' })
hl(0, "Debug", { fg = c.red, bg = 'NONE' })
hl(0, "Delimiter", { fg = c.dark_gray, bg = 'NONE' })
hl(0, "SpecialComment", { fg = c.gray, bg = 'NONE' })
hl(0, "Underlined", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "Ignore", { fg = c.cyan, bg = c.bg, bold=true, })
hl(0, "Todo", { fg = c.magenta, bg = c.bg, bold=true, })
hl(0, "Error", { fg = c.error_red, bg = c.bg, bold=true, })
hl(0, "TabLine", { fg = c.light_gray, bg = c.line })
hl(0, "TabLineSel", { fg = c.white, bg = c.line })
hl(0, "TabLineFill", { fg = c.line, bg = c.line })
-- Treesitter
hl(0, "TSComment", { link = 'Comment' })
hl(0, "TSAnnotation", { fg = c.blue, bg = 'NONE' })
hl(0, "TSAttribute", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSConstructor", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSType", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSTypeBuiltin", { fg = c.orange, bg = 'NONE' })
hl(0, "TSConditional", { fg = c.yellow, bg = 'NONE' })
hl(0, "TSException", { fg = c.purple, bg = 'NONE' })
hl(0, "TSInclude", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeywordReturn", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeyword", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeywordFunction", { fg = c.purple, bg = 'NONE' })
hl(0, "TSLabel", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSNamespace", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSRepeat", { fg = c.yellow, bg = 'NONE' })
hl(0, "TSConstant", { fg = c.orange, bg = 'NONE' })
hl(0, "TSConstBuiltin", { fg = c.orange, bg = 'NONE' })
hl(0, "TSFloat", { fg = c.orange, bg = 'NONE' })
hl(0, "TSNumber", { fg = c.orange, bg = 'NONE' })
hl(0, "TSBoolean", { fg = c.orange, bg = 'NONE' })
hl(0, "TSCharacter", { fg = c.green, bg = 'NONE' })
hl(0, "TSError", { fg = c.error_red, bg = 'NONE' })
hl(0, "TSFunction", { fg = c.blue, bg = 'NONE' })
hl(0, "TSFuncBuiltin", { fg = c.blue, bg = 'NONE' })
hl(0, "TSMethod", { fg = c.blue, bg = 'NONE' })
hl(0, "TSConstMacro", { fg = c.orange, bg = 'NONE' })
hl(0, "TSFuncMacro", { fg = c.blue, bg = 'NONE' })
hl(0, "TSVariable", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSVariableBuiltin", { fg = c.red, bg = 'NONE' })
hl(0, "TSProperty", { fg = c.red, bg = 'NONE' })
hl(0, "TSField", { fg = c.fg, bg = 'NONE' })
hl(0, "TSParameter", { fg = c.red, bg = 'NONE' })
hl(0, "TSParameterReference", { fg = c.red, bg = 'NONE' })
hl(0, "TSSymbol", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSText", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSOperator", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSPunctDelimiter", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSTagDelimiter", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSTagAttribute", { fg = c.orange, bg = 'NONE' })
hl(0, "TSPunctBracket", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSPunctSpecial", { fg = c.purple, bg = 'NONE' })
hl(0, "TSString", { fg = c.green, bg = 'NONE' })
hl(0, "TSStringRegex", { fg = c.green, bg = 'NONE' })
hl(0, "TSStringEscape", { fg = c.green, bg = 'NONE' })
hl(0, "TSTag", { fg = c.blue, bg = 'NONE' })
hl(0, "TSEmphasis", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "TSUnderline", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "TSTitle", { fg = c.fg, bg = 'NONE', })
hl(0, "TSLiteral", { fg = c.orange, bg = 'NONE' })
hl(0, "TSURI", { fg = c.orange, bg = 'NONE', underline=true, })
hl(0, "TSKeywordOperator", { fg = c.purple, bg = 'NONE' })
hl(0, "TSStructure", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSStrong", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "TSQueryLinterError", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "TreesitterContext", { fg = 'NONE', bg = c.tree_gray })
-- markdown
hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownHeadingRule", { fg = c.fg, bg = 'NONE', bold=true, })
hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownIdDelimiter", { fg = c.light_gray, bg = 'NONE' })
hl(0, "markdownLinkDelimiter", { fg = c.light_gray, bg = 'NONE' })
hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownRule", { fg = c.accent, bg = 'NONE' })
hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
-- Whichkey
hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
hl(0, "WhichKeySeparator", { fg = c.green, bg = 'NONE' })
hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
hl(0, "WhichKeyDesc", { fg = c.light_blue, bg = 'NONE' })
hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.dark })
-- Git
hl(0, "SignAdd", { fg = c.sign_add, bg = 'NONE' })
hl(0, "SignChange", { fg = c.sign_change, bg = 'NONE' })
hl(0, "SignDelete", { fg = c.sign_delete, bg = 'NONE' })
hl(0, "GitSignsAdd", { fg = c.sign_add, bg = 'NONE' })
hl(0, "GitSignsChange", { fg = c.sign_change, bg = 'NONE' })
hl(0, "GitSignsDelete", { fg = c.sign_delete, bg = 'NONE' })
-- LSP
hl(0, "LspDiagnosticsDefaultError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "DiagnosticSignError", { fg = c.error_red, bg = 'NONE' })
hl(0, "DiagnosticSignWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "DiagnosticSignInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "DiagnosticSignInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "DiagnosticSignHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsSignError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsSignWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsSignInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsSignInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsSignHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspCodeLens", { fg = c.context, bg = 'NONE', italic=true, })
hl(0, "LspCodeLensSeparator", { fg = c.context, bg = 'NONE', italic=true, })
-- Telescope
hl(0, "TelescopeSelection", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "TelescopeMatching", { fg = c.info_yellow, bg = 'NONE', bold=true, })
hl(0, "TelescopeBorder", { fg = c.blue, bg = c.bg })
-- NvimTree
hl(0, "NvimTreeFolderIcon", { fg = c.folder_blue, bg = 'NONE' })
hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
hl(0, "NvimTreeNormal", { fg = c.light_gray, bg = c.tree_gray })
hl(0, "NvimTreeVertSplit", { fg = c.alt_bg, bg = c.alt_bg })
hl(0, "NvimTreeFolderName", { fg = c.folder_blue, bg = 'NONE' })
hl(0, "NvimTreeOpenedFolderName", { fg = c.folder_blue, bg = 'NONE', bold=true, italic=true, })
hl(0, "NvimTreeEmptyFolderName", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "NvimTreeGitIgnored", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "NvimTreeImageFile", { fg = c.light_gray, bg = 'NONE' })
hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
hl(0, "NvimTreeEndOfBuffer", { fg = c.tree_gray, bg = 'NONE' })
hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = c.cursor_bg })
hl(0, "NvimTreeGitignoreIcon", { fg = '#E64A19', bg = 'NONE' })
hl(0, "NvimTreeGitStaged", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitNew", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitRenamed", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitDeleted", { fg = c.sign_delete, bg = 'NONE' })
hl(0, "NvimTreeGitMerge", { fg = c.tree_sign_change, bg = 'NONE' })
hl(0, "NvimTreeGitDirty", { fg = c.tree_sign_change, bg = 'NONE' })
hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
hl(0, "NvimTreeRootFolder", { fg = c.fg, bg = 'NONE', bold=true, })
hl(0, "NvimTreeExecFile", { fg = '#9FBA89', bg = 'NONE' })
-- Buffer
hl(0, "BufferCurrent", { fg = c.fg, bg = c.bg })
hl(0, "BufferCurrentIndex", { fg = c.fg, bg = c.bg })
hl(0, "BufferCurrentMod", { fg = c.info_yellow, bg = c.bg })
hl(0, "BufferCurrentSign", { fg = c.hint_blue, bg = c.bg })
hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.bg, bold=true, })
hl(0, "BufferVisible", { fg = c.fg, bg = c.bg })
hl(0, "BufferVisibleIndex", { fg = c.fg, bg = c.bg })
hl(0, "BufferVisibleMod", { fg = c.info_yellow, bg = c.bg })
hl(0, "BufferVisibleSign", { fg = c.gray, bg = c.bg })
hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.bg, bold=true, })
hl(0, "BufferInactive", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveIndex", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveMod", { fg = c.info_yellow, bg = c.alt_bg })
hl(0, "BufferInactiveSign", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.alt_bg, bold=true, })
-- StatusLine
hl(0, "StatusLine", { fg = c.line, bg = c.gray })
hl(0, "StatusLineNC", { fg = c.line, bg = c.gray })
hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
-- IndentBlankline
hl(0, "IndentBlanklineContextChar", { fg = c.context, bg = 'NONE' })
hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "IndentBlanklineChar", { fg = c.dark_gray, bg = 'NONE' })
hl(0, "IndentBlanklineSpaceChar", { fg = c.cyan_test, bg = 'NONE' })
hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.info_yellow, bg = 'NONE' })
-- Dashboard
hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
-- Cmp
hl(0, "CmpItemAbbrDeprecated", { fg = c.gray, bg = 'NONE', strikethrough=true, })
hl(0, "CmpItemAbbrMatch", { fg = c.ui3_blue, bg = 'NONE' })
hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.ui3_blue, bg = 'NONE' })
hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindValue", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindUnit", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindText", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
hl(0, "CmpItemKindFile", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindFolder", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindColor", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindReference", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindOperator", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
end
return theme

View File

@ -1,344 +0,0 @@
local c = require('flexoki.palette')
local hl = vim.api.nvim_set_hl
local theme = {}
theme.set_highlights = function()
-- highlights
hl(0, "Normal", { fg = c.fg, bg = c.bg })
hl(0, "SignColumn", { fg = 'NONE', bg = c.bg })
hl(0, "MsgArea", { fg = c.fg, bg = c.bg })
hl(0, "ModeMsg", { fg = c.fg, bg = c.dark })
hl(0, "MsgSeparator", { fg = c.fg, bg = c.bg })
hl(0, "SpellBad", { fg = c.light_red, bg = 'NONE', underline=true, })
hl(0, "SpellCap", { fg = c.yellow, bg = 'NONE', underline=true, })
hl(0, "SpellLocal", { fg = c.green, bg = 'NONE', underline=true, })
hl(0, "SpellRare", { fg = c.purple, bg = 'NONE', underline=true, })
hl(0, "NormalNC", { fg = c.fg, bg = c.bg })
hl(0, "Pmenu", { fg = c.light_gray, bg = c.tree_gray, sp = 'NONE', blend=50, })
hl(0, "PmenuSel", { fg = 'NONE', bg = c.ui2_blue })
hl(0, "WildMenu", { fg = c.fg, bg = c.ui2_blue })
hl(0, "CursorLineNr", { fg = c.light_gray, bg = 'NONE', bold=true, })
hl(0, "Comment", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "Folded", { fg = c.accent, bg = c.alt_bg })
hl(0, "FoldColumn", { fg = c.accent, bg = c.alt_bg })
hl(0, "LineNr", { fg = c.gray, bg = 'NONE' })
hl(0, "FloatBorder", { fg = c.gray, bg = c.alt_bg })
hl(0, "Whitespace", { fg = c.bg, bg = 'NONE' })
hl(0, "VertSplit", { fg = c.gray, bg = c.bg })
hl(0, "CursorLine", { fg = 'NONE', bg = c.dark })
hl(0, "CursorColumn", { fg = 'NONE', bg = c.dark })
hl(0, "ColorColumn", { fg = 'NONE', bg = c.dark })
hl(0, "NormalFloat", { fg = 'NONE', bg = c.dark })
hl(0, "Visual", { fg = 'NONE', bg = c.ui_blue })
hl(0, "VisualNOS", { fg = 'NONE', bg = c.alt_bg })
hl(0, "WarningMsg", { fg = c.error_red, bg = c.bg })
hl(0, "DiffAdd", { fg = c.alt_bg, bg = c.sign_add })
hl(0, "DiffChange", { fg = c.alt_bg, bg = c.sign_change, underline=true, })
hl(0, "DiffDelete", { fg = c.alt_bg, bg = c.sign_delete })
hl(0, "QuickFixLine", { fg = 'NONE', bg = c.ui2_blue })
hl(0, "PmenuSbar", { fg = 'NONE', bg = c.alt_bg })
hl(0, "PmenuThumb", { fg = 'NONE', bg = c.gray })
hl(0, "MatchWord", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "MatchParen", { fg = c.hint_blue, bg = c.bg, underline=true, })
hl(0, "MatchWordCur", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "MatchParenCur", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "Cursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "lCursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "CursorIM", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "TermCursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "TermCursorNC", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "Conceal", { fg = c.accent, bg = 'NONE' })
hl(0, "Directory", { fg = c.blue, bg = 'NONE' })
hl(0, "SpecialKey", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "Title", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "ErrorMsg", { fg = c.error_red, bg = c.bg, bold=true, })
hl(0, "Search", { fg = c.light_gray, bg = c.search_blue })
hl(0, "IncSearch", { fg = c.search_orange, bg = c.light_gray })
hl(0, "Substitute", { fg = c.light_gray, bg = c.search_orange })
hl(0, "MoreMsg", { fg = c.orange, bg = 'NONE' })
hl(0, "Question", { fg = c.orange, bg = 'NONE' })
hl(0, "EndOfBuffer", { fg = c.bg, bg = 'NONE' })
hl(0, "NonText", { fg = c.bg, bg = 'NONE' })
hl(0, "Variable", { fg = c.light_blue, bg = 'NONE' })
hl(0, "String", { fg = c.orange, bg = 'NONE' })
hl(0, "Character", { fg = c.orange, bg = 'NONE' })
hl(0, "Constant", { fg = c.vivid_blue, bg = 'NONE' })
hl(0, "Number", { fg = c.light_green, bg = 'NONE' })
hl(0, "Boolean", { fg = c.blue, bg = 'NONE' })
hl(0, "Float", { fg = c.light_green, bg = 'NONE' })
hl(0, "Identifier", { fg = c.light_blue, bg = 'NONE' })
hl(0, "Function", { fg = c.yellow, bg = 'NONE' })
hl(0, "Operator", { fg = c.fg, bg = 'NONE' })
hl(0, "Type", { fg = c.cyan, bg = 'NONE' })
hl(0, "StorageClass", { fg = c.blue, bg = 'NONE' })
hl(0, "Structure", { fg = c.blue, bg = 'NONE' })
hl(0, "Typedef", { fg = c.blue, bg = 'NONE' })
hl(0, "Keyword", { fg = c.blue, bg = 'NONE' })
hl(0, "Statement", { fg = c.purple, bg = 'NONE' })
hl(0, "Conditional", { fg = c.blue, bg = 'NONE' })
hl(0, "Repeat", { fg = c.purple, bg = 'NONE' })
hl(0, "Label", { fg = c.purple, bg = 'NONE' })
hl(0, "Exception", { fg = c.purple, bg = 'NONE' })
hl(0, "Include", { fg = c.purple, bg = 'NONE' })
hl(0, "PreProc", { fg = c.purple, bg = 'NONE' })
hl(0, "Define", { fg = c.purple, bg = 'NONE' })
hl(0, "Macro", { fg = c.purple, bg = 'NONE' })
hl(0, "PreCondit", { fg = c.purple, bg = 'NONE' })
hl(0, "Special", { fg = c.orange, bg = 'NONE' })
hl(0, "SpecialChar", { fg = c.white, bg = 'NONE' })
hl(0, "Tag", { fg = c.blue, bg = 'NONE' })
hl(0, "Debug", { fg = c.red, bg = 'NONE' })
hl(0, "Delimiter", { fg = c.gray, bg = 'NONE' })
hl(0, "SpecialComment", { fg = c.gray, bg = 'NONE' })
hl(0, "Underlined", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "Ignore", { fg = c.cyan, bg = c.bg, bold=true, })
hl(0, "Todo", { fg = c.magenta, bg = c.bg, bold=true, })
hl(0, "Error", { fg = c.error_red, bg = c.bg, bold=true, })
hl(0, "TabLine", { fg = c.light_gray, bg = c.line })
hl(0, "TabLineSel", { fg = c.white, bg = c.line })
hl(0, "TabLineFill", { fg = c.line, bg = c.line })
-- Treesitter
hl(0, "TSComment", { link = 'Comment' })
hl(0, "TSAnnotation", { fg = c.blue, bg = 'NONE' })
hl(0, "TSAttribute", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSConstructor", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSType", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSTypeBuiltin", { fg = c.orange, bg = 'NONE' })
hl(0, "TSConditional", { fg = c.yellow, bg = 'NONE' })
hl(0, "TSException", { fg = c.purple, bg = 'NONE' })
hl(0, "TSInclude", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeywordReturn", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeyword", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeywordFunction", { fg = c.purple, bg = 'NONE' })
hl(0, "TSLabel", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSNamespace", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSRepeat", { fg = c.yellow, bg = 'NONE' })
hl(0, "TSConstant", { fg = c.orange, bg = 'NONE' })
hl(0, "TSConstBuiltin", { fg = c.orange, bg = 'NONE' })
hl(0, "TSFloat", { fg = c.orange, bg = 'NONE' })
hl(0, "TSNumber", { fg = c.orange, bg = 'NONE' })
hl(0, "TSBoolean", { fg = c.orange, bg = 'NONE' })
hl(0, "TSCharacter", { fg = c.green, bg = 'NONE' })
hl(0, "TSError", { fg = c.error_red, bg = 'NONE' })
hl(0, "TSFunction", { fg = c.blue, bg = 'NONE' })
hl(0, "TSFuncBuiltin", { fg = c.blue, bg = 'NONE' })
hl(0, "TSMethod", { fg = c.blue, bg = 'NONE' })
hl(0, "TSConstMacro", { fg = c.orange, bg = 'NONE' })
hl(0, "TSFuncMacro", { fg = c.blue, bg = 'NONE' })
hl(0, "TSVariable", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSVariableBuiltin", { fg = c.red, bg = 'NONE' })
hl(0, "TSProperty", { fg = c.red, bg = 'NONE' })
hl(0, "TSField", { fg = c.fg, bg = 'NONE' })
hl(0, "TSParameter", { fg = c.red, bg = 'NONE' })
hl(0, "TSParameterReference", { fg = c.red, bg = 'NONE' })
hl(0, "TSSymbol", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSText", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSOperator", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSPunctDelimiter", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSTagDelimiter", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSTagAttribute", { fg = c.orange, bg = 'NONE' })
hl(0, "TSPunctBracket", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSPunctSpecial", { fg = c.purple, bg = 'NONE' })
hl(0, "TSString", { fg = c.green, bg = 'NONE' })
hl(0, "TSStringRegex", { fg = c.green, bg = 'NONE' })
hl(0, "TSStringEscape", { fg = c.green, bg = 'NONE' })
hl(0, "TSTag", { fg = c.blue, bg = 'NONE' })
hl(0, "TSEmphasis", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "TSUnderline", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "TSTitle", { fg = c.fg, bg = 'NONE', })
hl(0, "TSLiteral", { fg = c.orange, bg = 'NONE' })
hl(0, "TSURI", { fg = c.orange, bg = 'NONE', underline=true, })
hl(0, "TSKeywordOperator", { fg = c.purple, bg = 'NONE' })
hl(0, "TSStructure", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSStrong", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "TSQueryLinterError", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "TreesitterContext", { fg = 'NONE', bg = c.tree_gray })
-- markdown
hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownHeadingRule", { fg = c.fg, bg = 'NONE', bold=true, })
hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownIdDelimiter", { fg = c.light_gray, bg = 'NONE' })
hl(0, "markdownLinkDelimiter", { fg = c.light_gray, bg = 'NONE' })
hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownRule", { fg = c.accent, bg = 'NONE' })
hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
-- Whichkey
hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
hl(0, "WhichKeySeparator", { fg = c.green, bg = 'NONE' })
hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
hl(0, "WhichKeyDesc", { fg = c.light_blue, bg = 'NONE' })
hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.dark })
-- Git
hl(0, "SignAdd", { fg = c.sign_add, bg = 'NONE' })
hl(0, "SignChange", { fg = c.sign_change, bg = 'NONE' })
hl(0, "SignDelete", { fg = c.sign_delete, bg = 'NONE' })
hl(0, "GitSignsAdd", { fg = c.sign_add, bg = 'NONE' })
hl(0, "GitSignsChange", { fg = c.sign_change, bg = 'NONE' })
hl(0, "GitSignsDelete", { fg = c.sign_delete, bg = 'NONE' })
-- LSP
hl(0, "LspDiagnosticsDefaultError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "DiagnosticSignError", { fg = c.error_red, bg = 'NONE' })
hl(0, "DiagnosticSignWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "DiagnosticSignInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "DiagnosticSignInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "DiagnosticSignHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsSignError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsSignWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsSignInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsSignInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsSignHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspCodeLens", { fg = c.context, bg = 'NONE', italic=true, })
hl(0, "LspCodeLensSeparator", { fg = c.context, bg = 'NONE', italic=true, })
-- Telescope
hl(0, "TelescopeSelection", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "TelescopeMatching", { fg = c.info_yellow, bg = 'NONE', bold=true, })
hl(0, "TelescopeBorder", { fg = c.blue, bg = c.bg })
-- NvimTree
hl(0, "NvimTreeFolderIcon", { fg = c.folder_blue, bg = 'NONE' })
hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
hl(0, "NvimTreeNormal", { fg = c.light_gray, bg = c.tree_gray })
hl(0, "NvimTreeVertSplit", { fg = c.alt_bg, bg = c.alt_bg })
hl(0, "NvimTreeFolderName", { fg = c.folder_blue, bg = 'NONE' })
hl(0, "NvimTreeOpenedFolderName", { fg = c.folder_blue, bg = 'NONE', bold=true, italic=true, })
hl(0, "NvimTreeEmptyFolderName", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "NvimTreeGitIgnored", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "NvimTreeImageFile", { fg = c.light_gray, bg = 'NONE' })
hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
hl(0, "NvimTreeEndOfBuffer", { fg = c.tree_gray, bg = 'NONE' })
hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
hl(0, "NvimTreeGitignoreIcon", { fg = '#E64A19', bg = 'NONE' })
hl(0, "NvimTreeGitStaged", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitNew", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitRenamed", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitDeleted", { fg = c.sign_delete, bg = 'NONE' })
hl(0, "NvimTreeGitMerge", { fg = c.tree_sign_change, bg = 'NONE' })
hl(0, "NvimTreeGitDirty", { fg = c.tree_sign_change, bg = 'NONE' })
hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
hl(0, "NvimTreeRootFolder", { fg = c.fg, bg = 'NONE', bold=true, })
hl(0, "NvimTreeExecFile", { fg = '#9FBA89', bg = 'NONE' })
-- Buffer
hl(0, "BufferCurrent", { fg = c.fg, bg = c.bg })
hl(0, "BufferCurrentIndex", { fg = c.fg, bg = c.bg })
hl(0, "BufferCurrentMod", { fg = c.info_yellow, bg = c.bg })
hl(0, "BufferCurrentSign", { fg = c.hint_blue, bg = c.bg })
hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.bg, bold=true, })
hl(0, "BufferVisible", { fg = c.fg, bg = c.bg })
hl(0, "BufferVisibleIndex", { fg = c.fg, bg = c.bg })
hl(0, "BufferVisibleMod", { fg = c.info_yellow, bg = c.bg })
hl(0, "BufferVisibleSign", { fg = c.gray, bg = c.bg })
hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.bg, bold=true, })
hl(0, "BufferInactive", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveIndex", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveMod", { fg = c.info_yellow, bg = c.alt_bg })
hl(0, "BufferInactiveSign", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.alt_bg, bold=true, })
-- StatusLine
hl(0, "StatusLine", { fg = c.line, bg = c.gray })
hl(0, "StatusLineNC", { fg = c.line, bg = c.gray })
hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
-- IndentBlankline
hl(0, "IndentBlanklineContextChar", { fg = c.context, bg = 'NONE' })
hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "IndentBlanklineChar", { fg = c.dark_gray, bg = 'NONE' })
hl(0, "IndentBlanklineSpaceChar", { fg = c.cyan_test, bg = 'NONE' })
hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.info_yellow, bg = 'NONE' })
-- Dashboard
hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
-- Cmp
hl(0, "CmpItemAbbrDeprecated", { fg = c.gray, bg = 'NONE', strikethrough=true, })
hl(0, "CmpItemAbbrMatch", { fg = c.ui3_blue, bg = 'NONE' })
hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.ui3_blue, bg = 'NONE' })
hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindValue", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindUnit", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindText", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
hl(0, "CmpItemKindFile", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindFolder", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindColor", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindReference", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindOperator", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
end
return theme

View File

@ -1,346 +1,24 @@
local palette = require('flexoki.palette')
local highlights = require('flexoki.highlights')
local hl = vim.api.nvim_set_hl
local M = {}
M.set_highlights = function()
local c = palette.palette()
---@param opts FlexokiOptions
M.set_highlights = function(opts)
-- highlights
hl(0, "Normal", { fg = c.fg, bg = c.bg })
hl(0, "SignColumn", { fg = 'NONE', bg = c.bg })
hl(0, "MsgArea", { fg = c.fg, bg = c.bg })
hl(0, "ModeMsg", { fg = c.fg, bg = c.dark })
hl(0, "MsgSeparator", { fg = c.fg, bg = c.bg })
hl(0, "SpellBad", { fg = c.light_red, bg = 'NONE', underline=true, })
hl(0, "SpellCap", { fg = c.yellow, bg = 'NONE', underline=true, })
hl(0, "SpellLocal", { fg = c.green, bg = 'NONE', underline=true, })
hl(0, "SpellRare", { fg = c.purple, bg = 'NONE', underline=true, })
hl(0, "NormalNC", { fg = c.fg, bg = c.bg })
hl(0, "Pmenu", { fg = c.light_gray, bg = c.tree_gray, sp = 'NONE', blend=50, })
hl(0, "PmenuSel", { fg = 'NONE', bg = c.ui2_blue })
hl(0, "WildMenu", { fg = c.fg, bg = c.ui2_blue })
hl(0, "CursorLineNr", { fg = c.light_gray, bg = 'NONE', bold=true, })
hl(0, "Comment", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "Folded", { fg = c.accent, bg = c.alt_bg })
hl(0, "FoldColumn", { fg = c.accent, bg = c.alt_bg })
hl(0, "LineNr", { fg = c.gray, bg = 'NONE' })
hl(0, "FloatBorder", { fg = c.gray, bg = c.alt_bg })
hl(0, "Whitespace", { fg = c.bg, bg = 'NONE' })
hl(0, "VertSplit", { fg = c.gray, bg = c.bg })
hl(0, "CursorLine", { fg = 'NONE', bg = c.dark })
hl(0, "CursorColumn", { fg = 'NONE', bg = c.dark })
hl(0, "ColorColumn", { fg = 'NONE', bg = c.dark })
hl(0, "NormalFloat", { fg = 'NONE', bg = c.dark })
hl(0, "Visual", { fg = 'NONE', bg = c.ui_blue })
hl(0, "VisualNOS", { fg = 'NONE', bg = c.alt_bg })
hl(0, "WarningMsg", { fg = c.error_red, bg = c.bg })
hl(0, "DiffAdd", { fg = c.alt_bg, bg = c.sign_add })
hl(0, "DiffChange", { fg = c.alt_bg, bg = c.sign_change, underline=true, })
hl(0, "DiffDelete", { fg = c.alt_bg, bg = c.sign_delete })
hl(0, "QuickFixLine", { fg = 'NONE', bg = c.ui2_blue })
hl(0, "PmenuSbar", { fg = 'NONE', bg = c.alt_bg })
hl(0, "PmenuThumb", { fg = 'NONE', bg = c.gray })
hl(0, "MatchWord", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "MatchParen", { fg = c.hint_blue, bg = c.bg, underline=true, })
hl(0, "MatchWordCur", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "MatchParenCur", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "Cursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "lCursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "CursorIM", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "TermCursor", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "TermCursorNC", { fg = c.cursor_fg, bg = c.cursor_bg })
hl(0, "Conceal", { fg = c.accent, bg = 'NONE' })
hl(0, "Directory", { fg = c.blue, bg = 'NONE' })
hl(0, "SpecialKey", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "Title", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "ErrorMsg", { fg = c.error_red, bg = c.bg, bold=true, })
hl(0, "Search", { fg = c.light_gray, bg = c.search_blue })
hl(0, "IncSearch", { fg = c.search_orange, bg = c.light_gray })
hl(0, "Substitute", { fg = c.light_gray, bg = c.search_orange })
hl(0, "MoreMsg", { fg = c.orange, bg = 'NONE' })
hl(0, "Question", { fg = c.orange, bg = 'NONE' })
hl(0, "EndOfBuffer", { fg = c.bg, bg = 'NONE' })
hl(0, "NonText", { fg = c.bg, bg = 'NONE' })
hl(0, "Variable", { fg = c.light_blue, bg = 'NONE' })
hl(0, "String", { fg = c.orange, bg = 'NONE' })
hl(0, "Character", { fg = c.orange, bg = 'NONE' })
hl(0, "Constant", { fg = c.vivid_blue, bg = 'NONE' })
hl(0, "Number", { fg = c.light_green, bg = 'NONE' })
hl(0, "Boolean", { fg = c.blue, bg = 'NONE' })
hl(0, "Float", { fg = c.light_green, bg = 'NONE' })
hl(0, "Identifier", { fg = c.light_blue, bg = 'NONE' })
hl(0, "Function", { fg = c.yellow, bg = 'NONE' })
hl(0, "Operator", { fg = c.fg, bg = 'NONE' })
hl(0, "Type", { fg = c.cyan, bg = 'NONE' })
hl(0, "StorageClass", { fg = c.blue, bg = 'NONE' })
hl(0, "Structure", { fg = c.blue, bg = 'NONE' })
hl(0, "Typedef", { fg = c.blue, bg = 'NONE' })
hl(0, "Keyword", { fg = c.blue, bg = 'NONE' })
hl(0, "Statement", { fg = c.purple, bg = 'NONE' })
hl(0, "Conditional", { fg = c.blue, bg = 'NONE' })
hl(0, "Repeat", { fg = c.purple, bg = 'NONE' })
hl(0, "Label", { fg = c.purple, bg = 'NONE' })
hl(0, "Exception", { fg = c.purple, bg = 'NONE' })
hl(0, "Include", { fg = c.purple, bg = 'NONE' })
hl(0, "PreProc", { fg = c.purple, bg = 'NONE' })
hl(0, "Define", { fg = c.purple, bg = 'NONE' })
hl(0, "Macro", { fg = c.purple, bg = 'NONE' })
hl(0, "PreCondit", { fg = c.purple, bg = 'NONE' })
hl(0, "Special", { fg = c.orange, bg = 'NONE' })
hl(0, "SpecialChar", { fg = c.white, bg = 'NONE' })
hl(0, "Tag", { fg = c.blue, bg = 'NONE' })
hl(0, "Debug", { fg = c.red, bg = 'NONE' })
hl(0, "Delimiter", { fg = c.gray, bg = 'NONE' })
hl(0, "SpecialComment", { fg = c.gray, bg = 'NONE' })
hl(0, "Underlined", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "Ignore", { fg = c.cyan, bg = c.bg, bold=true, })
hl(0, "Todo", { fg = c.magenta, bg = c.bg, bold=true, })
hl(0, "Error", { fg = c.error_red, bg = c.bg, bold=true, })
hl(0, "TabLine", { fg = c.light_gray, bg = c.line })
hl(0, "TabLineSel", { fg = c.white, bg = c.line })
hl(0, "TabLineFill", { fg = c.line, bg = c.line })
local highlight_groups = highlights.groups()
-- Treesitter
hl(0, "TSComment", { link = 'Comment' })
hl(0, "TSAnnotation", { fg = c.blue, bg = 'NONE' })
hl(0, "TSAttribute", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSConstructor", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSType", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSTypeBuiltin", { fg = c.orange, bg = 'NONE' })
hl(0, "TSConditional", { fg = c.yellow, bg = 'NONE' })
hl(0, "TSException", { fg = c.purple, bg = 'NONE' })
hl(0, "TSInclude", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeywordReturn", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeyword", { fg = c.purple, bg = 'NONE' })
hl(0, "TSKeywordFunction", { fg = c.purple, bg = 'NONE' })
hl(0, "TSLabel", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSNamespace", { fg = c.cyan, bg = 'NONE' })
hl(0, "TSRepeat", { fg = c.yellow, bg = 'NONE' })
hl(0, "TSConstant", { fg = c.orange, bg = 'NONE' })
hl(0, "TSConstBuiltin", { fg = c.orange, bg = 'NONE' })
hl(0, "TSFloat", { fg = c.orange, bg = 'NONE' })
hl(0, "TSNumber", { fg = c.orange, bg = 'NONE' })
hl(0, "TSBoolean", { fg = c.orange, bg = 'NONE' })
hl(0, "TSCharacter", { fg = c.green, bg = 'NONE' })
hl(0, "TSError", { fg = c.error_red, bg = 'NONE' })
hl(0, "TSFunction", { fg = c.blue, bg = 'NONE' })
hl(0, "TSFuncBuiltin", { fg = c.blue, bg = 'NONE' })
hl(0, "TSMethod", { fg = c.blue, bg = 'NONE' })
hl(0, "TSConstMacro", { fg = c.orange, bg = 'NONE' })
hl(0, "TSFuncMacro", { fg = c.blue, bg = 'NONE' })
hl(0, "TSVariable", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSVariableBuiltin", { fg = c.red, bg = 'NONE' })
hl(0, "TSProperty", { fg = c.red, bg = 'NONE' })
hl(0, "TSField", { fg = c.fg, bg = 'NONE' })
hl(0, "TSParameter", { fg = c.red, bg = 'NONE' })
hl(0, "TSParameterReference", { fg = c.red, bg = 'NONE' })
hl(0, "TSSymbol", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSText", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSOperator", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSPunctDelimiter", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSTagDelimiter", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSTagAttribute", { fg = c.orange, bg = 'NONE' })
hl(0, "TSPunctBracket", { fg = c.alt_fg, bg = 'NONE' })
hl(0, "TSPunctSpecial", { fg = c.purple, bg = 'NONE' })
hl(0, "TSString", { fg = c.green, bg = 'NONE' })
hl(0, "TSStringRegex", { fg = c.green, bg = 'NONE' })
hl(0, "TSStringEscape", { fg = c.green, bg = 'NONE' })
hl(0, "TSTag", { fg = c.blue, bg = 'NONE' })
hl(0, "TSEmphasis", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "TSUnderline", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "TSTitle", { fg = c.fg, bg = 'NONE', })
hl(0, "TSLiteral", { fg = c.orange, bg = 'NONE' })
hl(0, "TSURI", { fg = c.orange, bg = 'NONE', underline=true, })
hl(0, "TSKeywordOperator", { fg = c.purple, bg = 'NONE' })
hl(0, "TSStructure", { fg = c.light_blue, bg = 'NONE' })
hl(0, "TSStrong", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "TSQueryLinterError", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "TreesitterContext", { fg = 'NONE', bg = c.tree_gray })
-- Set users highlight_group customisations.
if not opts.highlight_groups == nil then
for group, highlight in pairs(opts.highlight_groups) do
highlight_groups[group] = highlight
end
end
-- markdown
hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownHeadingRule", { fg = c.fg, bg = 'NONE', bold=true, })
hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownIdDelimiter", { fg = c.light_gray, bg = 'NONE' })
hl(0, "markdownLinkDelimiter", { fg = c.light_gray, bg = 'NONE' })
hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownRule", { fg = c.accent, bg = 'NONE' })
hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
-- Whichkey
hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
hl(0, "WhichKeySeparator", { fg = c.green, bg = 'NONE' })
hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
hl(0, "WhichKeyDesc", { fg = c.light_blue, bg = 'NONE' })
hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.dark })
-- Git
hl(0, "SignAdd", { fg = c.sign_add, bg = 'NONE' })
hl(0, "SignChange", { fg = c.sign_change, bg = 'NONE' })
hl(0, "SignDelete", { fg = c.sign_delete, bg = 'NONE' })
hl(0, "GitSignsAdd", { fg = c.sign_add, bg = 'NONE' })
hl(0, "GitSignsChange", { fg = c.sign_change, bg = 'NONE' })
hl(0, "GitSignsDelete", { fg = c.sign_delete, bg = 'NONE' })
-- LSP
hl(0, "LspDiagnosticsDefaultError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsDefaultHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsFloatingHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "DiagnosticSignError", { fg = c.error_red, bg = 'NONE' })
hl(0, "DiagnosticSignWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "DiagnosticSignInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "DiagnosticSignInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "DiagnosticSignHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsSignError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsSignWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsSignInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsSignInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsSignHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsError", { fg = c.error_red, bg = 'NONE' })
hl(0, "LspDiagnosticsWarning", { fg = c.warning_orange, bg = 'NONE' })
hl(0, "LspDiagnosticsInformation", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsInfo", { fg = c.info_yellow, bg = 'NONE' })
hl(0, "LspDiagnosticsHint", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
hl(0, "LspCodeLens", { fg = c.context, bg = 'NONE', italic=true, })
hl(0, "LspCodeLensSeparator", { fg = c.context, bg = 'NONE', italic=true, })
-- Telescope
hl(0, "TelescopeSelection", { fg = c.hint_blue, bg = 'NONE' })
hl(0, "TelescopeMatching", { fg = c.info_yellow, bg = 'NONE', bold=true, })
hl(0, "TelescopeBorder", { fg = c.blue, bg = c.bg })
-- NvimTree
hl(0, "NvimTreeFolderIcon", { fg = c.folder_blue, bg = 'NONE' })
hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
hl(0, "NvimTreeNormal", { fg = c.light_gray, bg = c.tree_gray })
hl(0, "NvimTreeVertSplit", { fg = c.alt_bg, bg = c.alt_bg })
hl(0, "NvimTreeFolderName", { fg = c.folder_blue, bg = 'NONE' })
hl(0, "NvimTreeOpenedFolderName", { fg = c.folder_blue, bg = 'NONE', bold=true, italic=true, })
hl(0, "NvimTreeEmptyFolderName", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "NvimTreeGitIgnored", { fg = c.gray, bg = 'NONE', italic=true, })
hl(0, "NvimTreeImageFile", { fg = c.light_gray, bg = 'NONE' })
hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
hl(0, "NvimTreeEndOfBuffer", { fg = c.tree_gray, bg = 'NONE' })
hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
hl(0, "NvimTreeGitignoreIcon", { fg = '#E64A19', bg = 'NONE' })
hl(0, "NvimTreeGitStaged", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitNew", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitRenamed", { fg = c.tree_sign_add, bg = 'NONE' })
hl(0, "NvimTreeGitDeleted", { fg = c.sign_delete, bg = 'NONE' })
hl(0, "NvimTreeGitMerge", { fg = c.tree_sign_change, bg = 'NONE' })
hl(0, "NvimTreeGitDirty", { fg = c.tree_sign_change, bg = 'NONE' })
hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
hl(0, "NvimTreeRootFolder", { fg = c.fg, bg = 'NONE', bold=true, })
hl(0, "NvimTreeExecFile", { fg = '#9FBA89', bg = 'NONE' })
-- Buffer
hl(0, "BufferCurrent", { fg = c.fg, bg = c.bg })
hl(0, "BufferCurrentIndex", { fg = c.fg, bg = c.bg })
hl(0, "BufferCurrentMod", { fg = c.info_yellow, bg = c.bg })
hl(0, "BufferCurrentSign", { fg = c.hint_blue, bg = c.bg })
hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.bg, bold=true, })
hl(0, "BufferVisible", { fg = c.fg, bg = c.bg })
hl(0, "BufferVisibleIndex", { fg = c.fg, bg = c.bg })
hl(0, "BufferVisibleMod", { fg = c.info_yellow, bg = c.bg })
hl(0, "BufferVisibleSign", { fg = c.gray, bg = c.bg })
hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.bg, bold=true, })
hl(0, "BufferInactive", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveIndex", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveMod", { fg = c.info_yellow, bg = c.alt_bg })
hl(0, "BufferInactiveSign", { fg = c.gray, bg = c.alt_bg })
hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.alt_bg, bold=true, })
-- StatusLine
hl(0, "StatusLine", { fg = c.line, bg = c.gray })
hl(0, "StatusLineNC", { fg = c.line, bg = c.gray })
hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
-- IndentBlankline
hl(0, "IndentBlanklineContextChar", { fg = c.context, bg = 'NONE' })
hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = 'NONE', underline=true, })
hl(0, "IndentBlanklineChar", { fg = c.dark_gray, bg = 'NONE' })
hl(0, "IndentBlanklineSpaceChar", { fg = c.cyan_test, bg = 'NONE' })
hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.info_yellow, bg = 'NONE' })
-- Dashboard
hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
-- Cmp
hl(0, "CmpItemAbbrDeprecated", { fg = c.gray, bg = 'NONE', strikethrough=true, })
hl(0, "CmpItemAbbrMatch", { fg = c.ui3_blue, bg = 'NONE' })
hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.ui3_blue, bg = 'NONE' })
hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
hl(0, "CmpItemKindValue", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindUnit", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindText", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
hl(0, "CmpItemKindFile", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindFolder", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindColor", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindReference", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindOperator", { fg = c.fg, bg = 'NONE' })
hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
for group, highlight in pairs(highlight_groups) do
hl(0, group, highlight)
end
end
return M