Refactor theme colors and UI settings for improved visibility and consistency across components. Update README.

This commit is contained in:
Webhooked 2025-05-07 11:27:21 +02:00
commit e5ae0533c5
5 changed files with 642 additions and 629 deletions

View file

@ -210,7 +210,7 @@ require('kanso').setup({
},
all = {
ui = {
bg_gutter = "none"
cursor_line_nr_active_foreground = "#C4746E"
}
}
}

View file

@ -46,9 +46,9 @@ function M.setup(colors, config)
-- Folded Line used for closed folds.
Folded = { fg = theme.ui.special, bg = theme.ui.bg_p1 },
-- FoldColumn 'foldcolumn'
FoldColumn = { fg = theme.ui.nontext, bg = theme.ui.bg_gutter },
FoldColumn = { fg = theme.ui.nontext, bg = theme.ui.none },
-- SignColumn Column where |signs| are displayed.
SignColumn = { fg = theme.ui.special, bg = theme.ui.bg_gutter },
SignColumn = { fg = theme.ui.special, bg = theme.ui.none },
-- IncSearch 'incsearch' highlighting; also used for the text replaced with ":s///c".
IncSearch = { fg = theme.ui.fg_reverse, bg = theme.diag.warning },
-- Substitute |:substitute| replacement text highlighting.
@ -66,7 +66,7 @@ function M.setup(colors, config)
-- ModeMsg 'showmode' message (e.g., "-- INSERT --").
ModeMsg = { fg = theme.diag.warning, bold = true },
-- MsgArea Area for messages and cmdline.
MsgArea = vim.o.cmdheight == 0 and {link = 'StatusLine'} or { fg = theme.ui.fg_dim },
MsgArea = vim.o.cmdheight == 0 and { link = 'StatusLine' } or { fg = theme.ui.fg_dim },
-- MsgSeparator Separator for scrolled messages |msgsep|.
MsgSeparator = { bg = vim.o.cmdheight == 0 and theme.ui.bg or theme.ui.bg_m3 },
-- MoreMsg |more-prompt|
@ -74,7 +74,7 @@ function M.setup(colors, config)
-- NonText '@' 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 = theme.ui.nontext },
-- Normal Normal text.
Normal = { fg = theme.ui.fg, bg = not config.transparent and theme.ui.bg or "NONE" },
Normal = { fg = theme.ui.fg, bg = theme.ui.none },
-- NormalFloat Normal text in floating windows.
NormalFloat = { fg = theme.ui.float.fg, bg = theme.ui.float.bg },
-- FloatBorder Border of floating windows.
@ -118,15 +118,15 @@ function M.setup(colors, config)
-- SpellRare Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
SpellRare = { undercurl = config.undercurl, underline = not config.undercurl, sp = theme.diag.warning },
-- StatusLine Status line of current window.
StatusLine = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m3 },
StatusLine = { fg = theme.ui.fg_dim, bg = theme.ui.none },
-- StatusLineNC 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 = theme.ui.nontext, bg = theme.ui.bg_m3 },
StatusLineNC = { fg = theme.ui.nontext, bg = theme.ui.none },
-- TabLine Tab pages line, not active tab page label.
TabLine = { bg = theme.ui.bg_m3, fg = theme.ui.special },
TabLine = { bg = theme.ui.none, fg = theme.ui.special },
-- TabLineFill Tab pages line, where there are no labels.
TabLineFill = { bg = theme.ui.bg },
TabLineFill = { bg = theme.ui.none },
-- TabLineSel Tab pages line, active tab page label.
TabLineSel = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1 },
TabLineSel = { fg = theme.ui.fg_dim, bg = not config.transparent and theme.ui.bg_p1 or "NONE", bold = true },
-- Title Titles for output from ":set all", ":autocmd" etc.
Title = { fg = theme.syn.fun, bold = true },
-- Visual Visual mode selection.
@ -148,7 +148,7 @@ function M.setup(colors, config)
-- NormalSB = { link = "Normal" },
debugPC = { bg = theme.diff.delete },
debugBreakpoint = { fg = theme.syn.special1, bg = theme.ui.bg_gutter },
debugBreakpoint = { fg = theme.syn.special1, bg = theme.ui.none },
LspReferenceText = { bg = theme.ui.bg_p2 },
LspReferenceRead = { link = "LspReferenceText" },
@ -167,10 +167,10 @@ function M.setup(colors, config)
DiagnosticFloatingHint = { fg = theme.diag.hint },
DiagnosticFloatingOk = { fg = theme.diag.ok },
DiagnosticSignError = { fg = theme.diag.error, bg = theme.ui.bg_gutter },
DiagnosticSignWarn = { fg = theme.diag.warning, bg = theme.ui.bg_gutter },
DiagnosticSignInfo = { fg = theme.diag.info, bg = theme.ui.bg_gutter },
DiagnosticSignHint = { fg = theme.diag.hint, bg = theme.ui.bg_gutter },
DiagnosticSignError = { fg = theme.diag.error, bg = theme.ui.none },
DiagnosticSignWarn = { fg = theme.diag.warning, bg = theme.ui.none },
DiagnosticSignInfo = { fg = theme.diag.info, bg = theme.ui.none },
DiagnosticSignHint = { fg = theme.diag.hint, bg = theme.ui.none },
DiagnosticVirtualTextError = { link = "DiagnosticError" },
DiagnosticVirtualTextWarn = { link = "DiagnosticWarn" },

View file

@ -5,6 +5,7 @@ local M = {}
function M.setup(colors, config)
config = config or require("kanso").config
local theme = colors.theme
return {
-- Neovcs
-- NeovcsBranch = {},
@ -21,519 +22,526 @@ function M.setup(colors, config)
-- vcsSignsDeleteLn = { bg = theme.diff.delete },
-- Gitsigns
GitSignsAdd = { fg = theme.vcs.added, bg = theme.ui.bg_gutter },
GitSignsChange = { fg = theme.vcs.changed, bg = theme.ui.bg_gutter },
GitSignsDelete = { fg = theme.vcs.removed, bg = theme.ui.bg_gutter },
GitSignsAdd = { fg = theme.vcs.added, bg = theme.ui.none },
GitSignsChange = { fg = theme.vcs.changed, bg = theme.ui.none },
GitSignsDelete = { fg = theme.vcs.removed, bg = theme.ui.none },
-- Neogit
NeogitDiffContextHighlight = { bg = theme.diff.change }, --[[ guibg=#333333 guifg=#b2b2b2 ]]
NeogitHunkHeader = { fg = theme.syn.fun }, --[[ guifg=#cccccc guibg=#404040 ]]
NeogitHunkHeaderHighlight = { fg = theme.syn.constant, bg = theme.diff.change }, --[[ guifg=#cccccc guibg=#4d4d4d ]]
NeogitDiffAddHighlight = { bg = theme.diff.add },
NeogitDiffDeleteHighlight = { bg = theme.diff.delete },
NeogitDiffContextHighlight = { bg = theme.diff.change }, --[[ guibg=#333333 guifg=#b2b2b2 ]]
NeogitHunkHeader = { fg = theme.syn.fun }, --[[ guifg=#cccccc guibg=#404040 ]]
NeogitHunkHeaderHighlight = { fg = theme.syn.constant, bg = theme.diff.change }, --[[ guifg=#cccccc guibg=#4d4d4d ]]
NeogitDiffAddHighlight = { bg = theme.diff.add },
NeogitDiffDeleteHighlight = { bg = theme.diff.delete },
-- TreeSitter Extensions
TreesitterContext = { link = "Folded" },
TreesitterContextLineNumber = { fg = theme.ui.special, bg = theme.ui.bg_gutter },
TreesitterContext = { link = "Folded" },
TreesitterContextLineNumber = { fg = theme.ui.special, bg = theme.ui.none },
-- Telescope
TelescopeBorder = { fg = theme.ui.float.fg_border, bg = theme.ui.bg },
TelescopeTitle = { fg = theme.ui.special },
TelescopeSelection = { link = "CursorLine" },
TelescopeSelectionCaret = { link = "CursorLineNr" },
TelescopeResultsClass = { link = "Structure" },
TelescopeResultsStruct = { link = "Structure" },
TelescopeResultsField = { link = "@field" },
TelescopeResultsMethod = { link = "Function" },
TelescopeResultsVariable = { link = "@variable" },
TelescopeBorder = { fg = theme.ui.float.fg_border, bg = theme.ui.bg },
TelescopeTitle = { fg = theme.ui.special },
TelescopeSelection = { link = "CursorLine" },
TelescopeSelectionCaret = { link = "CursorLineNr" },
TelescopeResultsClass = { link = "Structure" },
TelescopeResultsStruct = { link = "Structure" },
TelescopeResultsField = { link = "@field" },
TelescopeResultsMethod = { link = "Function" },
TelescopeResultsVariable = { link = "@variable" },
-- NvimTree
NvimTreeNormal = { link = "Normal" },
NvimTreeNormalNC = { link = "NvimTreeNormal" },
NvimTreeRootFolder = { fg = theme.syn.identifier, bold = true },
NvimTreeGitDirty = { fg = theme.vcs.changed },
NvimTreeGitNew = { fg = theme.vcs.added },
NvimTreeGitDeleted = { fg = theme.vcs.removed },
NvimTreeGitStaged = { fg = theme.vcs.added },
NvimTreeSpecialFile = { fg = theme.syn.special1 },
NvimTreeNormal = { link = "Normal" },
NvimTreeNormalNC = { link = "NvimTreeNormal" },
NvimTreeRootFolder = { fg = theme.syn.identifier, bold = true },
NvimTreeGitDirty = { fg = theme.vcs.changed },
NvimTreeGitNew = { fg = theme.vcs.added },
NvimTreeGitDeleted = { fg = theme.vcs.removed },
NvimTreeGitStaged = { fg = theme.vcs.added },
NvimTreeSpecialFile = { fg = theme.syn.special1 },
-- NvimTreeIndentMarker = {},
NvimTreeImageFile = { fg = theme.syn.special2 },
NvimTreeSymlink = { link = "Type" },
NvimTreeFolderName = { link = "Directory" },
NvimTreeExecFile = { fg = theme.syn.string, bold = true },
NvimTreeOpenedFile = { fg = theme.syn.special1, italic = true },
NvimTreeWinSeparator = { link = "WinSeparator" },
NvimTreeWindowPicker = { bg = theme.ui.bg_m1, fg = theme.syn.special1, bold = true },
NvimTreeImageFile = { fg = theme.syn.special2 },
NvimTreeSymlink = { link = "Type" },
NvimTreeFolderName = { link = "Directory" },
NvimTreeExecFile = { fg = theme.syn.string, bold = true },
NvimTreeOpenedFile = { fg = theme.syn.special1, italic = true },
NvimTreeWinSeparator = { link = "WinSeparator" },
NvimTreeWindowPicker = { bg = theme.ui.bg_m1, fg = theme.syn.special1, bold = true },
-- NeoTree
NeoTreeTabInactive = { link = "TabLine" },
NeoTreeTabActive = { link = "TabLineSel" },
NeoTreeTabSeparatorInactive = { link = "NeoTreeTabInactive" },
NeoTreeTabSeparatorActive = { link = "NeoTreeTabActive" },
NeoTreeRootName = { fg = theme.syn.identifier, bold = true },
NeoTreeModified = { link = "String" },
NeoTreeGitModified = { fg = theme.vcs.changed },
NeoTreeGitAdded = { fg = theme.vcs.added },
NeoTreeGitDeleted = { fg = theme.vcs.removed },
NeoTreeGitStaged = { fg = theme.vcs.added },
NeoTreeGitConflict = { fg = theme.diag.error },
NeoTreeGitUntracked = { link = "NeoTreeGitModified", default = true },
NeoTreeGitUnstaged = { link = "NeoTreeGitModified", default = true },
NeoTreeIndentMarker = { link = "NonText" },
NeoTreeTabInactive = { fg = theme.ui.special, bg = config.transparent and "NONE" or theme.ui.bg },
NeoTreeTabActive = { fg = theme.ui.fg_dim, bg = config.transparent and "NONE" or theme.ui.bg_p1, bold = true },
NeoTreeTabSeparatorInactive = { fg = theme.ui.special, bg = config.transparent and "NONE" or theme.ui.bg },
NeoTreeTabSeparatorActive = { fg = theme.ui.fg_dim, bg = config.transparent and "NONE" or theme.ui.bg_p1 },
NeoTreeRootName = { fg = theme.syn.identifier, bold = true },
NeoTreeModified = { link = "String" },
NeoTreeGitModified = { fg = theme.vcs.changed },
NeoTreeGitAdded = { fg = theme.vcs.added },
NeoTreeGitDeleted = { fg = theme.vcs.removed },
NeoTreeGitStaged = { fg = theme.vcs.added },
NeoTreeGitConflict = { fg = theme.diag.error },
NeoTreeGitUntracked = { link = "NeoTreeGitModified", default = true },
NeoTreeGitUnstaged = { link = "NeoTreeGitModified", default = true },
NeoTreeIndentMarker = { link = "NonText" },
-- WindowPicker
-- NvimWindowSwitch = { bg = theme.ui.bg_m3, fg = theme.diag.warning },
-- NvimWindowSwitchNC = { link = "NvimWindowSwitch" },
-- Dashboard
DashboardShortCut = { fg = theme.syn.special1 },
DashboardHeader = { fg = theme.vcs.removed },
DashboardCenter = { fg = theme.syn.identifier },
DashboardFooter = { fg = theme.syn.comment },
DashboardDesc = { fg = theme.syn.identifier },
DashboardKey = { fg = theme.syn.special1 },
DashboardIcon = { fg = theme.ui.special },
DashboardShortCut = { fg = theme.syn.special1 },
DashboardHeader = { fg = theme.vcs.removed },
DashboardCenter = { fg = theme.syn.identifier },
DashboardFooter = { fg = theme.syn.comment },
DashboardDesc = { fg = theme.syn.identifier },
DashboardKey = { fg = theme.syn.special1 },
DashboardIcon = { fg = theme.ui.special },
-- Notify
NotifyBackground = { bg = theme.ui.bg },
NotifyERRORBorder = { link = "DiagnosticError" },
NotifyWARNBorder = { link = "DiagnosticWarn" },
NotifyINFOBorder = { link = "DiagnosticInfo" },
NotifyHINTBorder = { link = "DiagnosticHint" },
NotifyDEBUGBorder = { link = "Debug" },
NotifyTRACEBorder = { link = "Comment" },
NotifyERRORIcon = { link = "DiagnosticError" },
NotifyWARNIcon = { link = "DiagnosticWarn" },
NotifyINFOIcon = { link = "DiagnosticInfo" },
NotifyHINTIcon = { link = "DiagnosticHint" },
NotifyDEBUGIcon = { link = "Debug" },
NotifyTRACEIcon = { link = "Comment" },
NotifyERRORTitle = { link = "DiagnosticError" },
NotifyWARNTitle = { link = "DiagnosticWarn" },
NotifyINFOTitle = { link = "DiagnosticInfo" },
NotifyHINTTitle = { link = "DiagnosticHint" },
NotifyDEBUGTitle = { link = "Debug" },
NotifyTRACETitle = { link = "Comment" },
NotifyBackground = { bg = theme.ui.bg },
NotifyERRORBorder = { link = "DiagnosticError" },
NotifyWARNBorder = { link = "DiagnosticWarn" },
NotifyINFOBorder = { link = "DiagnosticInfo" },
NotifyHINTBorder = { link = "DiagnosticHint" },
NotifyDEBUGBorder = { link = "Debug" },
NotifyTRACEBorder = { link = "Comment" },
NotifyERRORIcon = { link = "DiagnosticError" },
NotifyWARNIcon = { link = "DiagnosticWarn" },
NotifyINFOIcon = { link = "DiagnosticInfo" },
NotifyHINTIcon = { link = "DiagnosticHint" },
NotifyDEBUGIcon = { link = "Debug" },
NotifyTRACEIcon = { link = "Comment" },
NotifyERRORTitle = { link = "DiagnosticError" },
NotifyWARNTitle = { link = "DiagnosticWarn" },
NotifyINFOTitle = { link = "DiagnosticInfo" },
NotifyHINTTitle = { link = "DiagnosticHint" },
NotifyDEBUGTitle = { link = "Debug" },
NotifyTRACETitle = { link = "Comment" },
-- Dap-UI
-- DapUIVariable = { link = "Normal" },
DapUIScope = { link = "Special" }, -- guifg=#00F1F5"
DapUIType = { link = "Type" }, -- guifg=#D484FF"
DapUIScope = { link = "Special" }, -- guifg=#00F1F5"
DapUIType = { link = "Type" }, -- guifg=#D484FF"
-- DapUIValue = { link = "Normal" },
DapUIModifiedValue = { fg = theme.syn.special1, bold = true }, -- guifg=#00F1F5 gui=bold"
DapUIDecoration = { fg = theme.ui.float.fg_border }, -- guifg=#00F1F5"
DapUIThread = { fg = theme.syn.identifier }, --guifg=#A9FF68"
DapUIStoppedThread = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIModifiedValue = { fg = theme.syn.special1, bold = true }, -- guifg=#00F1F5 gui=bold"
DapUIDecoration = { fg = theme.ui.float.fg_border }, -- guifg=#00F1F5"
DapUIThread = { fg = theme.syn.identifier }, --guifg=#A9FF68"
DapUIStoppedThread = { fg = theme.syn.special1 }, --guifg=#00f1f5"
-- DapUIFrameName = { link = "Normal"},
DapUISource = { fg = theme.syn.special2 }, -- guifg=#D484FF"
DapUILineNumber = { fg = theme.syn.special1 }, -- guifg=#00f1f5"
DapUIFloatBorder = { fg = theme.ui.float.fg_border }, -- guifg=#00F1F5"
DapUIWatchesEmpty = { fg = theme.diag.error }, -- guifg=#F70067"
DapUIWatchesValue = { fg = theme.syn.identifier }, -- guifg=#A9FF68"
DapUIWatchesError = { fg = theme.diag.error }, --guifg=#F70067"
DapUIBreakpointsPath = { link = "Directory" }, --guifg=#00F1F5"
DapUIBreakpointsInfo = { fg = theme.diag.info }, --guifg=#A9FF68"
DapUIBreakpointsCurrentLine = { fg = theme.syn.identifier, bold = true }, --guifg=#A9FF68 gui=bold"
DapUISource = { fg = theme.syn.special2 }, -- guifg=#D484FF"
DapUILineNumber = { fg = theme.syn.special1 }, -- guifg=#00f1f5"
DapUIFloatBorder = { fg = theme.ui.float.fg_border }, -- guifg=#00F1F5"
DapUIWatchesEmpty = { fg = theme.diag.error }, -- guifg=#F70067"
DapUIWatchesValue = { fg = theme.syn.identifier }, -- guifg=#A9FF68"
DapUIWatchesError = { fg = theme.diag.error }, --guifg=#F70067"
DapUIBreakpointsPath = { link = "Directory" }, --guifg=#00F1F5"
DapUIBreakpointsInfo = { fg = theme.diag.info }, --guifg=#A9FF68"
DapUIBreakpointsCurrentLine = { fg = theme.syn.identifier, bold = true }, --guifg=#A9FF68 gui=bold"
-- DapUIBreakpointsLine = {}, -- DapUILineNumber"
DapUIBreakpointsDisabledLine = { link = "Comment" }, --guifg=#424242"
DapUIBreakpointsDisabledLine = { link = "Comment" }, --guifg=#424242"
-- DapUICurrentFrameName = {}, -- DapUIBreakpointsCurrentLine"
DapUIStepOver = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStepInto = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStepBack = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStepOut = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStop = { fg = theme.diag.error }, --guifg=#F70067"
DapUIPlayPause = { fg = theme.syn.string }, --guifg=#A9FF68"
DapUIRestart = { fg = theme.syn.string }, --guifg=#A9FF68"
DapUIUnavailable = { fg = theme.syn.comment }, --guifg=#424242"
DapUIStepOver = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStepInto = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStepBack = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStepOut = { fg = theme.syn.special1 }, --guifg=#00f1f5"
DapUIStop = { fg = theme.diag.error }, --guifg=#F70067"
DapUIPlayPause = { fg = theme.syn.string }, --guifg=#A9FF68"
DapUIRestart = { fg = theme.syn.string }, --guifg=#A9FF68"
DapUIUnavailable = { fg = theme.syn.comment }, --guifg=#424242"
-- Floaterm
FloatermBorder = { fg = theme.ui.float.fg_border, bg = theme.ui.bg },
FloatermBorder = { fg = theme.ui.float.fg_border, bg = theme.ui.bg },
-- NeoVim = {},
healthError = { fg = theme.diag.error },
healthSuccess = { fg = theme.diag.ok },
healthWarning = { fg = theme.diag.warning },
healthError = { fg = theme.diag.error },
healthSuccess = { fg = theme.diag.ok },
healthWarning = { fg = theme.diag.warning },
-- Cmp
CmpDocumentation = { link = "NormalFloat" },
CmpDocumentationBorder = { link = "FloatBorder" },
CmpCompletion = { link = "Pmenu" },
CmpCompletionSel = { link = "PmenuSel" },
CmpCompletionBorder = { fg = theme.ui.bg_search, bg = theme.ui.pmenu.bg },
CmpCompletionThumb = { link = "PmenuThumb" },
CmpCompletionSbar = { link = "PmenuSbar" },
CmpItemAbbr = { fg = theme.ui.pmenu.fg },
CmpItemAbbrDeprecated = { fg = theme.syn.comment, strikethrough = true },
CmpItemAbbrMatch = { fg = theme.syn.fun },
CmpItemAbbrMatchFuzzy = { link = "CmpItemAbbrMatch" },
CmpItemKindDefault = { fg = theme.ui.fg_dim },
CmpItemMenu = { fg = theme.ui.fg_dim },
CmpGhostText = { fg = theme.syn.comment },
CmpDocumentation = { link = "NormalFloat" },
CmpDocumentationBorder = { link = "FloatBorder" },
CmpCompletion = { link = "Pmenu" },
CmpCompletionSel = { link = "PmenuSel" },
CmpCompletionBorder = { fg = theme.ui.bg_search, bg = theme.ui.pmenu.bg },
CmpCompletionThumb = { link = "PmenuThumb" },
CmpCompletionSbar = { link = "PmenuSbar" },
CmpItemAbbr = { fg = theme.ui.pmenu.fg },
CmpItemAbbrDeprecated = { fg = theme.syn.comment, strikethrough = true },
CmpItemAbbrMatch = { fg = theme.syn.fun },
CmpItemAbbrMatchFuzzy = { link = "CmpItemAbbrMatch" },
CmpItemKindDefault = { fg = theme.ui.fg_dim },
CmpItemMenu = { fg = theme.ui.fg_dim },
CmpGhostText = { fg = theme.syn.comment },
CmpItemKindText = { fg = theme.ui.fg },
CmpItemKindMethod = { link = "@function.method" },
CmpItemKindFunction = { link = "Function" },
CmpItemKindConstructor = { link = "@constructor" },
CmpItemKindField = { link = "@variable.member" },
CmpItemKindVariable = { fg = theme.ui.fg_dim },
CmpItemKindClass = { link = "Type" },
CmpItemKindInterface = { link = "Type" },
CmpItemKindModule = { link = "@module" },
CmpItemKindProperty = { link = "@property" },
CmpItemKindUnit = { link = "Number" },
CmpItemKindValue = { link = "String" },
CmpItemKindEnum = { link = "Type" },
CmpItemKindKeyword = { link = "Keyword" },
CmpItemKindSnippet = { link = "Special" },
CmpItemKindColor = { link = "Special" },
CmpItemKindFile = { link = "Directory" },
CmpItemKindReference = { link = "Special" },
CmpItemKindFolder = { link = "Directory" },
CmpItemKindEnumMember = { link = "Constant" },
CmpItemKindConstant = { link = "Constant" },
CmpItemKindStruct = { link = "Type" },
CmpItemKindEvent = { link = "Type" },
CmpItemKindOperator = { link = "Operator" },
CmpItemKindTypeParameter = { link = "Type" },
CmpItemKindCopilot = { link = "String" },
CmpItemKindText = { fg = theme.ui.fg },
CmpItemKindMethod = { link = "@function.method" },
CmpItemKindFunction = { link = "Function" },
CmpItemKindConstructor = { link = "@constructor" },
CmpItemKindField = { link = "@variable.member" },
CmpItemKindVariable = { fg = theme.ui.fg_dim },
CmpItemKindClass = { link = "Type" },
CmpItemKindInterface = { link = "Type" },
CmpItemKindModule = { link = "@module" },
CmpItemKindProperty = { link = "@property" },
CmpItemKindUnit = { link = "Number" },
CmpItemKindValue = { link = "String" },
CmpItemKindEnum = { link = "Type" },
CmpItemKindKeyword = { link = "Keyword" },
CmpItemKindSnippet = { link = "Special" },
CmpItemKindColor = { link = "Special" },
CmpItemKindFile = { link = "Directory" },
CmpItemKindReference = { link = "Special" },
CmpItemKindFolder = { link = "Directory" },
CmpItemKindEnumMember = { link = "Constant" },
CmpItemKindConstant = { link = "Constant" },
CmpItemKindStruct = { link = "Type" },
CmpItemKindEvent = { link = "Type" },
CmpItemKindOperator = { link = "Operator" },
CmpItemKindTypeParameter = { link = "Type" },
CmpItemKindCopilot = { link = "String" },
-- blink.cmp
BlinkCmpMenu = { link = "Pmenu" },
BlinkCmpMenuSelection = { link = "PmenuSel" },
BlinkCmpMenuBorder = { fg = theme.ui.bg_search, bg = theme.ui.pmenu.bg },
BlinkCmpScrollBarThumb = { link = "PmenuThumb" },
BlinkCmpScrollBarGutter = { link = "PmenuSbar" },
BlinkCmpLabel = { fg = theme.ui.pmenu.fg },
BlinkCmpLabelMatch = { fg = theme.syn.fun },
BlinkCmpLabelDetails = { fg = theme.syn.comment },
BlinkCmpLabelDeprecated = { fg = theme.syn.comment, strikethrough = true },
BlinkCmpGhostText = { fg = theme.syn.comment },
BlinkCmpDoc = { link = "NormalFloat" },
BlinkCmpDocBorder = { link = "FloatBorder" },
BlinkCmpDocCursorLine = { link = "Visual"},
BlinkCmpSignatureHelp = { link = "NormalFloat" },
BlinkCmpSignatureHelpBorder = { link = "FloatBorder" },
BlinkCmpSignatureHelpActiveParameter = { link = "LspSignatureActiveParameter"},
BlinkCmpMenu = { link = "Pmenu" },
BlinkCmpMenuSelection = { link = "PmenuSel" },
BlinkCmpMenuBorder = { fg = theme.ui.bg_search, bg = theme.ui.pmenu.bg },
BlinkCmpScrollBarThumb = { link = "PmenuThumb" },
BlinkCmpScrollBarGutter = { link = "PmenuSbar" },
BlinkCmpLabel = { fg = theme.ui.pmenu.fg },
BlinkCmpLabelMatch = { fg = theme.syn.fun },
BlinkCmpLabelDetails = { fg = theme.syn.comment },
BlinkCmpLabelDeprecated = { fg = theme.syn.comment, strikethrough = true },
BlinkCmpGhostText = { fg = theme.syn.comment },
BlinkCmpDoc = { link = "NormalFloat" },
BlinkCmpDocBorder = { link = "FloatBorder" },
BlinkCmpDocCursorLine = { link = "Visual" },
BlinkCmpSignatureHelp = { link = "NormalFloat" },
BlinkCmpSignatureHelpBorder = { link = "FloatBorder" },
BlinkCmpSignatureHelpActiveParameter = { link = "LspSignatureActiveParameter" },
BlinkCmpKind = { fg = theme.ui.fg_dim },
BlinkCmpKindText = { fg = theme.ui.fg },
BlinkCmpKindMethod = { link = "@function.method" },
BlinkCmpKindFunction = { link = "Function" },
BlinkCmpKindConstructor = { link = "@constructor" },
BlinkCmpKindField = { link = "@variable.member" },
BlinkCmpKindVariable = { fg = theme.ui.fg_dim },
BlinkCmpKindClass = { link = "Type" },
BlinkCmpKindInterface = { link = "Type" },
BlinkCmpKindModule = { link = "@module" },
BlinkCmpKindProperty = { link = "@property" },
BlinkCmpKindUnit = { link = "Number" },
BlinkCmpKindValue = { link = "String" },
BlinkCmpKindEnum = { link = "Type" },
BlinkCmpKindKeyword = { link = "Keyword" },
BlinkCmpKindSnippet = { link = "Special" },
BlinkCmpKindColor = { link = "Special" },
BlinkCmpKindFile = { link = "Directory" },
BlinkCmpKindReference = { link = "Special" },
BlinkCmpKindFolder = { link = "Directory" },
BlinkCmpKindEnumMember = { link = "Constant" },
BlinkCmpKindConstant = { link = "Constant" },
BlinkCmpKindStruct = { link = "Type" },
BlinkCmpKindEvent = { link = "Type" },
BlinkCmpKindOperator = { link = "Operator" },
BlinkCmpKindTypeParameter = { link = "Type" },
BlinkCmpKindCopilot = { link = "String" },
BlinkCmpKind = { fg = theme.ui.fg_dim },
BlinkCmpKindText = { fg = theme.ui.fg },
BlinkCmpKindMethod = { link = "@function.method" },
BlinkCmpKindFunction = { link = "Function" },
BlinkCmpKindConstructor = { link = "@constructor" },
BlinkCmpKindField = { link = "@variable.member" },
BlinkCmpKindVariable = { fg = theme.ui.fg_dim },
BlinkCmpKindClass = { link = "Type" },
BlinkCmpKindInterface = { link = "Type" },
BlinkCmpKindModule = { link = "@module" },
BlinkCmpKindProperty = { link = "@property" },
BlinkCmpKindUnit = { link = "Number" },
BlinkCmpKindValue = { link = "String" },
BlinkCmpKindEnum = { link = "Type" },
BlinkCmpKindKeyword = { link = "Keyword" },
BlinkCmpKindSnippet = { link = "Special" },
BlinkCmpKindColor = { link = "Special" },
BlinkCmpKindFile = { link = "Directory" },
BlinkCmpKindReference = { link = "Special" },
BlinkCmpKindFolder = { link = "Directory" },
BlinkCmpKindEnumMember = { link = "Constant" },
BlinkCmpKindConstant = { link = "Constant" },
BlinkCmpKindStruct = { link = "Type" },
BlinkCmpKindEvent = { link = "Type" },
BlinkCmpKindOperator = { link = "Operator" },
BlinkCmpKindTypeParameter = { link = "Type" },
BlinkCmpKindCopilot = { link = "String" },
-- IndentBlankline
IndentBlanklineChar = { fg = theme.ui.whitespace },
IndentBlanklineSpaceChar = { fg = theme.ui.whitespace },
IndentBlanklineSpaceCharBlankline = { fg = theme.ui.whitespace },
IndentBlanklineContextChar = { fg = theme.ui.special },
IndentBlanklineContextStart = { sp = theme.ui.special, underline = true },
IblIndent = { fg = theme.ui.whitespace },
IblWhitespace = { fg = theme.ui.whitespace },
IblScope = { fg = theme.ui.special },
IndentBlanklineChar = { fg = theme.ui.indent_line, nocombine = true },
IndentBlanklineSpaceChar = { fg = theme.ui.indent_line, nocombine = true },
IndentBlanklineSpaceCharBlankline = { fg = theme.ui.indent_line, nocombine = true },
IndentBlanklineContextChar = { fg = theme.ui.active_indent_line, nocombine = true },
IndentBlanklineContextStart = { sp = theme.ui.active_indent_line, underline = true, nocombine = true },
IblIndent = { fg = theme.ui.indent_line, nocombine = true },
IblWhitespace = { fg = theme.ui.indent_line, nocombine = true },
IblScope = { fg = theme.ui.active_indent_line, nocombine = true },
-- Other indent plugins
IndentLine = { fg = theme.ui.indent_line, nocombine = true },
Indent = { fg = theme.ui.indent_line, nocombine = true },
IndentGuide = { fg = theme.ui.indent_line, nocombine = true },
IndentGuidesOdd = { fg = theme.ui.indent_line, nocombine = true },
IndentGuidesEven = { fg = theme.ui.indent_line, nocombine = true },
-- Lazy
LazyProgressTodo = { fg = theme.ui.nontext },
LazyProgressTodo = { fg = theme.ui.nontext },
-- Trouble
TroubleIndent = { fg = theme.ui.whitespace },
TroublePos = { fg = theme.ui.special },
TroubleIndent = { fg = theme.ui.whitespace },
TroublePos = { fg = theme.ui.special },
-- Nvim-Navic
NavicIconsFile = { link = "Directory" },
NavicIconsModule = { link = "@module" },
NavicIconsNamespace = { link = "@module" },
NavicIconsPackage = { link = "@module" },
NavicIconsClass = { link = "Type" },
NavicIconsMethod = { link = "@function.method" },
NavicIconsProperty = { link = "@property" },
NavicIconsField = { link = "@variable.member" },
NavicIconsConstructor = { link = "@constructor" },
NavicIconsEnum = { link = "Type" },
NavicIconsInterface = { link = "Type" },
NavicIconsFunction = { link = "Function" },
NavicIconsVariable = { link = "@variable" },
NavicIconsConstant = { link = "Constant" },
NavicIconsString = { link = "String" },
NavicIconsNumber = { link = "Number" },
NavicIconsBoolean = { link = "Boolean" },
NavicIconsArray = { link = "Type" },
NavicIconsObject = { link = "Type" },
NavicIconsKey = { link = "Identifier" },
NavicIconsNull = { link = "Type" },
NavicIconsEnumMember = { link = "Constant" },
NavicIconsStruct = { link = "Structure" },
NavicIconsEvent = { link = "Structure" },
NavicIconsOperator = { link = "Operator" },
NavicIconsTypeParameter = { link = "Type" },
NavicText = { fg = theme.ui.fg },
NavicSeparator = { fg = theme.ui.fg },
NavicIconsFile = { link = "Directory" },
NavicIconsModule = { link = "@module" },
NavicIconsNamespace = { link = "@module" },
NavicIconsPackage = { link = "@module" },
NavicIconsClass = { link = "Type" },
NavicIconsMethod = { link = "@function.method" },
NavicIconsProperty = { link = "@property" },
NavicIconsField = { link = "@variable.member" },
NavicIconsConstructor = { link = "@constructor" },
NavicIconsEnum = { link = "Type" },
NavicIconsInterface = { link = "Type" },
NavicIconsFunction = { link = "Function" },
NavicIconsVariable = { link = "@variable" },
NavicIconsConstant = { link = "Constant" },
NavicIconsString = { link = "String" },
NavicIconsNumber = { link = "Number" },
NavicIconsBoolean = { link = "Boolean" },
NavicIconsArray = { link = "Type" },
NavicIconsObject = { link = "Type" },
NavicIconsKey = { link = "Identifier" },
NavicIconsNull = { link = "Type" },
NavicIconsEnumMember = { link = "Constant" },
NavicIconsStruct = { link = "Structure" },
NavicIconsEvent = { link = "Structure" },
NavicIconsOperator = { link = "Operator" },
NavicIconsTypeParameter = { link = "Type" },
NavicText = { fg = theme.ui.fg },
NavicSeparator = { fg = theme.ui.fg },
-- Aerial icons
AerialFileIcon = { link = "Directory" },
AerialModuleIcon = { link = "@module" },
AerialNamespaceIcon = { link = "@module" },
AerialPackageIcon = { link = "@module" },
AerialClassIcon = { link = "Type" },
AerialMethodIcon = { link = "@function.method" },
AerialPropertyIcon = { link = "@property" },
AerialFieldIcon = { link = "@variable.member" },
AerialConstructorIcon = { link = "@constructor" },
AerialEnumIcon = { link = "Type" },
AerialInterfaceIcon = { link = "Type" },
AerialFunctionIcon = { link = "Function" },
AerialVariableIcon = { link = "@variable" },
AerialConstantIcon = { link = "Constant" },
AerialStringIcon = { link = "String" },
AerialNumberIcon = { link = "Number" },
AerialBooleanIcon = { link = "Boolean" },
AerialArrayIcon = { link = "Type" },
AerialObjectIcon = { link = "Type" },
AerialKeyIcon = { link = "Identifier" },
AerialNullIcon = { link = "Type" },
AerialEnumMemberIcon = { link = "Constant" },
AerialStructIcon = { link = "Structure" },
AerialEventIcon = { link = "Structure" },
AerialOperatorIcon = { link = "Operator" },
AerialTypeParameterIcon = { link = "Type" },
AerialFileIcon = { link = "Directory" },
AerialModuleIcon = { link = "@module" },
AerialNamespaceIcon = { link = "@module" },
AerialPackageIcon = { link = "@module" },
AerialClassIcon = { link = "Type" },
AerialMethodIcon = { link = "@function.method" },
AerialPropertyIcon = { link = "@property" },
AerialFieldIcon = { link = "@variable.member" },
AerialConstructorIcon = { link = "@constructor" },
AerialEnumIcon = { link = "Type" },
AerialInterfaceIcon = { link = "Type" },
AerialFunctionIcon = { link = "Function" },
AerialVariableIcon = { link = "@variable" },
AerialConstantIcon = { link = "Constant" },
AerialStringIcon = { link = "String" },
AerialNumberIcon = { link = "Number" },
AerialBooleanIcon = { link = "Boolean" },
AerialArrayIcon = { link = "Type" },
AerialObjectIcon = { link = "Type" },
AerialKeyIcon = { link = "Identifier" },
AerialNullIcon = { link = "Type" },
AerialEnumMemberIcon = { link = "Constant" },
AerialStructIcon = { link = "Structure" },
AerialEventIcon = { link = "Structure" },
AerialOperatorIcon = { link = "Operator" },
AerialTypeParameterIcon = { link = "Type" },
-- Mini
MiniAnimateCursor = { reverse = true, nocombine = true },
MiniAnimateNormalFloat = { link = "NormalFloat" },
MiniAnimateCursor = { reverse = true, nocombine = true },
MiniAnimateNormalFloat = { link = "NormalFloat" },
MiniClueBorder = { link = "FloatBorder" },
MiniClueDescGroup = { link = "DiagnosticFloatingWarn" },
MiniClueDescSingle = { link = "NormalFloat" },
MiniClueNextKey = { link = "DiagnosticFloatingHint" },
MiniClueNextKeyWithPostkeys = { link = "DiagnosticFloatingError" },
MiniClueSeparator = { link = "DiagnosticFloatingInfo" },
MiniClueTitle = { link = "FloatTitle" },
MiniClueBorder = { link = "FloatBorder" },
MiniClueDescGroup = { link = "DiagnosticFloatingWarn" },
MiniClueDescSingle = { link = "NormalFloat" },
MiniClueNextKey = { link = "DiagnosticFloatingHint" },
MiniClueNextKeyWithPostkeys = { link = "DiagnosticFloatingError" },
MiniClueSeparator = { link = "DiagnosticFloatingInfo" },
MiniClueTitle = { link = "FloatTitle" },
MiniCompletionActiveParameter = { underline = true },
MiniCompletionActiveParameter = { underline = true },
MiniCursorword = { underline = true },
MiniCursorwordCurrent = { underline = true },
MiniCursorword = { underline = true },
MiniCursorwordCurrent = { underline = true },
MiniDepsChangeAdded = { link = "diffAdded" },
MiniDepsChangeRemoved = { link = "diffRemoved" },
MiniDepsHint = { fg = theme.diag.hint },
MiniDepsInfo = { fg = theme.diag.info },
MiniDepsMsgBreaking = { fg = theme.diag.warning },
MiniDepsPlaceholder = { link = "Comment" },
MiniDepsTitle = { link = "Title" },
MiniDepsTitleError = { link = "DiffDelete" },
MiniDepsTitleSame = { link = "DiffText" },
MiniDepsTitleUpdate = { link = "DiffAdd" },
MiniDepsChangeAdded = { link = "diffAdded" },
MiniDepsChangeRemoved = { link = "diffRemoved" },
MiniDepsHint = { fg = theme.diag.hint },
MiniDepsInfo = { fg = theme.diag.info },
MiniDepsMsgBreaking = { fg = theme.diag.warning },
MiniDepsPlaceholder = { link = "Comment" },
MiniDepsTitle = { link = "Title" },
MiniDepsTitleError = { link = "DiffDelete" },
MiniDepsTitleSame = { link = "DiffText" },
MiniDepsTitleUpdate = { link = "DiffAdd" },
MiniDiffSignAdd = { fg = theme.vcs.added, bg = theme.ui.bg_gutter },
MiniDiffSignChange = { fg = theme.vcs.changed, bg = theme.ui.bg_gutter },
MiniDiffSignDelete = { fg = theme.vcs.removed, bg = theme.ui.bg_gutter },
MiniDiffOverAdd = { link = "DiffAdd" },
MiniDiffOverChange = { link = "DiffText" },
MiniDiffOverContext = { link = "DiffChange" },
MiniDiffOverDelete = { link = "DiffDelete" },
MiniDiffSignAdd = { fg = theme.vcs.added, bg = theme.ui.none },
MiniDiffSignChange = { fg = theme.vcs.changed, bg = theme.ui.none },
MiniDiffSignDelete = { fg = theme.vcs.removed, bg = theme.ui.none },
MiniDiffOverAdd = { link = "DiffAdd" },
MiniDiffOverChange = { link = "DiffText" },
MiniDiffOverContext = { link = "DiffChange" },
MiniDiffOverDelete = { link = "DiffDelete" },
MiniFilesBorder = { link = "FloatBorder" },
MiniFilesBorderModified = { link = "DiagnosticFloatingWarn" },
MiniFilesCursorLine = { link = "CursorLine" },
MiniFilesDirectory = { link = "Directory" },
MiniFilesFile = { fg = theme.ui.fg },
MiniFilesNormal = { link = "NormalFloat" },
MiniFilesTitle = { fg = theme.ui.special, bg = theme.ui.float.bg_border, bold = true },
MiniFilesTitleFocused = { fg = theme.ui.fg, bg = theme.ui.float.bg_border, bold = true },
MiniFilesBorder = { link = "FloatBorder" },
MiniFilesBorderModified = { link = "DiagnosticFloatingWarn" },
MiniFilesCursorLine = { link = "CursorLine" },
MiniFilesDirectory = { link = "Directory" },
MiniFilesFile = { fg = theme.ui.fg },
MiniFilesNormal = { link = "NormalFloat" },
MiniFilesTitle = { fg = theme.ui.special, bg = theme.ui.float.bg_border, bold = true },
MiniFilesTitleFocused = { fg = theme.ui.fg, bg = theme.ui.float.bg_border, bold = true },
MiniHipatternsFixme = { fg = theme.ui.bg, bg = theme.diag.error, bold = true },
MiniHipatternsHack = { fg = theme.ui.bg, bg = theme.diag.warning, bold = true },
MiniHipatternsNote = { fg = theme.ui.bg, bg = theme.diag.info, bold = true },
MiniHipatternsTodo = { fg = theme.ui.bg, bg = theme.diag.hint, bold = true },
MiniHipatternsFixme = { fg = theme.ui.bg, bg = theme.diag.error, bold = true },
MiniHipatternsHack = { fg = theme.ui.bg, bg = theme.diag.warning, bold = true },
MiniHipatternsNote = { fg = theme.ui.bg, bg = theme.diag.info, bold = true },
MiniHipatternsTodo = { fg = theme.ui.bg, bg = theme.diag.hint, bold = true },
MiniIconsAzure = { fg = theme.syn.special1 },
MiniIconsBlue = { fg = theme.syn.fun },
MiniIconsCyan = { fg = theme.syn.type },
MiniIconsGreen = { fg = theme.syn.string },
MiniIconsGrey = { fg = theme.ui.fg },
MiniIconsOrange = { fg = theme.syn.constant },
MiniIconsPurple = { fg = theme.syn.keyword },
MiniIconsRed = { fg = theme.syn.special3 },
MiniIconsYellow = { fg = theme.syn.identifier },
MiniIconsAzure = { fg = theme.syn.special1 },
MiniIconsBlue = { fg = theme.syn.fun },
MiniIconsCyan = { fg = theme.syn.type },
MiniIconsGreen = { fg = theme.syn.string },
MiniIconsGrey = { fg = theme.ui.fg },
MiniIconsOrange = { fg = theme.syn.constant },
MiniIconsPurple = { fg = theme.syn.keyword },
MiniIconsRed = { fg = theme.syn.special3 },
MiniIconsYellow = { fg = theme.syn.identifier },
MiniIndentscopeSymbol = { fg = theme.syn.special1 },
MiniIndentscopePrefix = { nocombine = true }, -- Make it invisible
MiniIndentscopeSymbol = { fg = theme.syn.special1 },
MiniIndentscopePrefix = { nocombine = true }, -- Make it invisible
MiniJump = { link = "SpellRare" },
MiniJump = { link = "SpellRare" },
MiniJump2dDim = { link = "Comment" },
MiniJump2dSpot = { fg = theme.syn.constant, bold = true, nocombine = true },
MiniJump2dSpotAhead = { fg = theme.diag.hint, bg = theme.ui.bg_dim, nocombine = true },
MiniJump2dSpotUnique = { fg = theme.syn.special1, bold = true, nocombine = true },
MiniJump2dDim = { link = "Comment" },
MiniJump2dSpot = { fg = theme.syn.constant, bold = true, nocombine = true },
MiniJump2dSpotAhead = { fg = theme.diag.hint, bg = theme.ui.bg_dim, nocombine = true },
MiniJump2dSpotUnique = { fg = theme.syn.special1, bold = true, nocombine = true },
MiniMapNormal = { link = "NormalFloat" },
MiniMapSymbolCount = { link = "Special" },
MiniMapSymbolLine = { link = "Title" },
MiniMapSymbolView = { link = "Delimiter" },
MiniMapNormal = { link = "NormalFloat" },
MiniMapSymbolCount = { link = "Special" },
MiniMapSymbolLine = { link = "Title" },
MiniMapSymbolView = { link = "Delimiter" },
MiniNotifyBorder = { link = "FloatBorder" },
MiniNotifyNormal = { link = "NormalFloat" },
MiniNotifyTitle = { link = "FloatTitle" },
MiniNotifyBorder = { link = "FloatBorder" },
MiniNotifyNormal = { link = "NormalFloat" },
MiniNotifyTitle = { link = "FloatTitle" },
MiniOperatorsExchangeFrom = { link = "IncSearch" },
MiniOperatorsExchangeFrom = { link = "IncSearch" },
MiniPickBorder = { link = "FloatBorder" },
MiniPickBorderBusy = { link = "DiagnosticFloatingWarn" },
MiniPickBorderText = { link = "FloatTitle" },
MiniPickIconDirectory = { link = "Directory" },
MiniPickIconFile = { link = "MiniPickNormal" },
MiniPickHeader = { link = "DiagnosticFloatingHint" },
MiniPickMatchCurrent = { link = "CursorLine" },
MiniPickMatchMarked = { link = "Visual" },
MiniPickMatchRanges = { link = "DiagnosticFloatingHint" },
MiniPickNormal = { link = "NormalFloat" },
MiniPickPreviewLine = { link = "CursorLine" },
MiniPickPreviewRegion = { link = "IncSearch" },
MiniPickPrompt = { fg = theme.syn.fun, bg = theme.ui.float.bg_border },
MiniPickBorder = { link = "FloatBorder" },
MiniPickBorderBusy = { link = "DiagnosticFloatingWarn" },
MiniPickBorderText = { link = "FloatTitle" },
MiniPickIconDirectory = { link = "Directory" },
MiniPickIconFile = { link = "MiniPickNormal" },
MiniPickHeader = { link = "DiagnosticFloatingHint" },
MiniPickMatchCurrent = { link = "CursorLine" },
MiniPickMatchMarked = { link = "Visual" },
MiniPickMatchRanges = { link = "DiagnosticFloatingHint" },
MiniPickNormal = { link = "NormalFloat" },
MiniPickPreviewLine = { link = "CursorLine" },
MiniPickPreviewRegion = { link = "IncSearch" },
MiniPickPrompt = { fg = theme.syn.fun, bg = theme.ui.float.bg_border },
MiniStarterCurrent = { nocombine = true },
MiniStarterFooter = { fg = theme.syn.deprecated },
MiniStarterHeader = { link = "Title" },
MiniStarterInactive = { link = "Comment" },
MiniStarterItem = { link = "Normal" },
MiniStarterItemBullet = { link = "Delimiter" },
MiniStarterItemPrefix = { fg = theme.diag.warning },
MiniStarterSection = { fg = theme.diag.ok },
MiniStarterQuery = { fg = theme.diag.info },
MiniStarterCurrent = { nocombine = true },
MiniStarterFooter = { fg = theme.syn.deprecated },
MiniStarterHeader = { link = "Title" },
MiniStarterInactive = { link = "Comment" },
MiniStarterItem = { link = "Normal" },
MiniStarterItemBullet = { link = "Delimiter" },
MiniStarterItemPrefix = { fg = theme.diag.warning },
MiniStarterSection = { fg = theme.diag.ok },
MiniStarterQuery = { fg = theme.diag.info },
MiniStatuslineDevinfo = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1 },
MiniStatuslineFileinfo = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1 },
MiniStatuslineFilename = { fg = theme.ui.fg_dim, bg = theme.ui.bg_dim },
MiniStatuslineInactive = { link = "StatusLineNC" },
MiniStatuslineModeCommand = { fg = theme.ui.bg, bg = theme.syn.operator, bold = true },
MiniStatuslineModeInsert = { fg = theme.ui.bg, bg = theme.diag.ok, bold = true },
MiniStatuslineModeNormal = { fg = theme.ui.bg_m3, bg = theme.syn.fun, bold = true },
MiniStatuslineModeOther = { fg = theme.ui.bg, bg = theme.syn.type, bold = true },
MiniStatuslineModeReplace = { fg = theme.ui.bg, bg = theme.syn.constant, bold = true },
MiniStatuslineModeVisual = { fg = theme.ui.bg, bg = theme.syn.keyword, bold = true },
MiniStatuslineDevinfo = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1 },
MiniStatuslineFileinfo = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1 },
MiniStatuslineFilename = { fg = theme.ui.fg_dim, bg = theme.ui.bg_dim },
MiniStatuslineInactive = { link = "StatusLineNC" },
MiniStatuslineModeCommand = { fg = theme.ui.bg, bg = theme.syn.operator, bold = true },
MiniStatuslineModeInsert = { fg = theme.ui.bg, bg = theme.diag.ok, bold = true },
MiniStatuslineModeNormal = { fg = theme.ui.bg_m3, bg = theme.syn.fun, bold = true },
MiniStatuslineModeOther = { fg = theme.ui.bg, bg = theme.syn.type, bold = true },
MiniStatuslineModeReplace = { fg = theme.ui.bg, bg = theme.syn.constant, bold = true },
MiniStatuslineModeVisual = { fg = theme.ui.bg, bg = theme.syn.keyword, bold = true },
MiniSurround = { link = "IncSearch" },
MiniSurround = { link = "IncSearch" },
MiniTablineCurrent = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1, bold = true },
MiniTablineFill = { link = "TabLineFill" },
MiniTablineHidden = { fg = theme.ui.special, bg = theme.ui.bg_m3 },
MiniTablineModifiedCurrent = { fg = theme.ui.bg_p1, bg = theme.ui.fg_dim, bold = true },
MiniTablineModifiedHidden = { fg = theme.ui.bg_m3, bg = theme.ui.special },
MiniTablineModifiedVisible = { fg = theme.ui.bg_m3, bg = theme.ui.special, bold = true },
MiniTablineTabpagesection = { fg = theme.ui.fg, bg = theme.ui.bg_search, bold = true },
MiniTablineVisible = { fg = theme.ui.special, bg = theme.ui.bg_m3, bold = true },
MiniTablineCurrent = { fg = theme.ui.fg_dim, bg = theme.ui.bg_p1, bold = true },
MiniTablineFill = { link = "TabLineFill" },
MiniTablineHidden = { fg = theme.ui.special, bg = theme.ui.bg_m3 },
MiniTablineModifiedCurrent = { fg = theme.ui.bg_p1, bg = theme.ui.fg_dim, bold = true },
MiniTablineModifiedHidden = { fg = theme.ui.bg_m3, bg = theme.ui.special },
MiniTablineModifiedVisible = { fg = theme.ui.bg_m3, bg = theme.ui.special, bold = true },
MiniTablineTabpagesection = { fg = theme.ui.fg, bg = theme.ui.bg_search, bold = true },
MiniTablineVisible = { fg = theme.ui.special, bg = theme.ui.bg_m3, bold = true },
MiniTestEmphasis = { bold = true },
MiniTestFail = { fg = theme.diag.error, bold = true },
MiniTestPass = { fg = theme.diag.ok, bold = true },
MiniTestEmphasis = { bold = true },
MiniTestFail = { fg = theme.diag.error, bold = true },
MiniTestPass = { fg = theme.diag.ok, bold = true },
MiniTrailspace = { bg = theme.vcs.removed },
MiniTrailspace = { bg = theme.vcs.removed },
NeotestAdapterName = { fg = theme.syn.special3, },
NeotestDir = { fg = theme.syn.fun, },
NeotestExpandMarker = { fg = theme.syn.punct, bold = true, },
NeotestFailed = { fg = theme.diag.error },
NeotestFile = { fg = theme.syn.fun, },
NeotestFocused = { bold = true, underline = true, },
NeotestIndent = { fg = theme.ui.special, bold = true, },
NeotestMarked = { fg = theme.diag.warning, italic = true, },
NeotestNamespace = { fg = theme.syn.fun, },
NeotestPassed = { fg = theme.diag.ok },
NeotestRunning = { fg = theme.vcs.changed, },
NeotestWinSelect = { fg = theme.diag.hint },
NeotestSkipped = { fg = theme.syn.special1 },
NeotestTarget = { fg = theme.syn.special3 },
NeotestTest = { fg = theme.ui.float.fg },
NeotestUnknown = { fg = theme.syn.deprecated },
NeotestWatching = { fg = theme.vcs.changed, },
NeotestAdapterName = { fg = theme.syn.special3, },
NeotestDir = { fg = theme.syn.fun, },
NeotestExpandMarker = { fg = theme.syn.punct, bold = true, },
NeotestFailed = { fg = theme.diag.error },
NeotestFile = { fg = theme.syn.fun, },
NeotestFocused = { bold = true, underline = true, },
NeotestIndent = { fg = theme.ui.special, bold = true, },
NeotestMarked = { fg = theme.diag.warning, italic = true, },
NeotestNamespace = { fg = theme.syn.fun, },
NeotestPassed = { fg = theme.diag.ok },
NeotestRunning = { fg = theme.vcs.changed, },
NeotestWinSelect = { fg = theme.diag.hint },
NeotestSkipped = { fg = theme.syn.special1 },
NeotestTarget = { fg = theme.syn.special3 },
NeotestTest = { fg = theme.ui.float.fg },
NeotestUnknown = { fg = theme.syn.deprecated },
NeotestWatching = { fg = theme.vcs.changed, },
SnacksPicker = { bg = theme.ui.bg },
SnacksPickerTitle = { fg = theme.ui.fg, bg = theme.ui.bg },
SnacksPickerBorder = { fg = theme.ui.bg },
SnacksPickerNormal = { fg = theme.ui.fg, bg = theme.ui.bg },
SnacksPickerMatch = { fg = theme.ui.fg },
SnacksPickerCursor = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerPrompt = { fg = theme.ui.fg },
SnacksPickerDim = { fg = theme.ui.fg_dim },
SnacksInputIcon = { fg = theme.ui.fg, bg = theme.ui.bg },
SnacksIndent = { fg = theme.ui.bg_gutter, bg = theme.ui.bg },
SnacksIndentScope = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerInputBorder = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerInputTitle = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerBoxTitle = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerSelected = { fg = theme.ui.bg },
SnacksPickerPickWinCurrent = { fg = theme.ui.fg, bg = theme.ui.bg, bold = true },
SnacksPickerPickWin = { fg = theme.ui.fg, bg = theme.ui.bg_search, bold = true },
SnacksPicker = { bg = theme.ui.bg },
SnacksPickerTitle = { fg = theme.ui.fg, bg = theme.ui.bg },
SnacksPickerBorder = { fg = theme.ui.none, bg = theme.ui.none },
SnacksPickerNormal = { fg = theme.ui.fg, bg = theme.ui.bg },
SnacksPickerMatch = { fg = theme.ui.fg },
SnacksPickerCursor = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerPrompt = { fg = theme.ui.fg },
SnacksPickerDim = { fg = theme.ui.fg_dim },
SnacksInputIcon = { fg = theme.ui.fg, bg = theme.ui.bg },
SnacksIndent = { fg = theme.ui.indent_line, nocombine = true },
SnacksIndentChunk = { fg = theme.ui.active_indent_line, nocombine = true },
SnacksIndentScope = { fg = theme.ui.active_indent_line, nocombine = true },
SnacksPickerInputBorder = { fg = theme.ui.float.bg_border, bg = theme.ui.bg },
SnacksPickerInputTitle = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerBoxTitle = { fg = theme.ui.bg, bg = theme.ui.bg },
SnacksPickerSelected = { fg = theme.ui.bg },
SnacksPickerPickWinCurrent = { fg = theme.ui.fg, bg = theme.ui.bg, bold = true },
SnacksPickerPickWin = { fg = theme.ui.fg, bg = theme.ui.bg_search, bold = true },
BufferLineBackground = { fg = theme.ui.none, bg = theme.ui.none },
BufferLineBuffer = { fg = theme.ui.none, bg = theme.ui.none },
BufferLineBufferSelected = { bg = theme.ui.none },
BufferLineBufferVisible = { bg = theme.ui.none },
BufferLineCloseButton = { bg = theme.ui.none },
BufferLineCloseButtonSelected = { bg = theme.ui.none },
BufferLineCloseButtonVisible = { bg = theme.ui.none },
BufferLineDuplicate = { bg = theme.ui.none },
BufferLineDuplicateSelected = { bg = theme.ui.none },
BufferLineDuplicateVisible = { bg = theme.ui.none },
BufferLineError = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorDiagnostic = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorDiagnosticSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorDiagnosticVisible = { bg = theme.ui.none },
BufferLineErrorSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorVisible = { bg = theme.ui.none },
BufferLineFill = { bg = theme.ui.none },
BufferLineHint = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineHintDiagnostic = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineHintDiagnosticSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineHintDiagnosticVisible = { bg = theme.ui.none },
BufferLineHintSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineHintVisible = { bg = theme.ui.none },
BufferLineInfo = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineInfoDiagnostic = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineInfoDiagnosticSelected = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineInfoDiagnosticVisible = { bg = theme.ui.none },
BufferLineInfoSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineInfoVisible = { bg = theme.ui.none },
BufferLineIndicatorSelected = { bg = theme.ui.none },
BufferLineModified = { bg = theme.ui.none },
BufferLineModifiedSelected = { bg = theme.ui.none },
BufferLineModifiedVisible = { bg = theme.ui.none },
BufferLineNumbers = { bg = theme.ui.none },
BufferLineNumbersSelected = { bg = theme.ui.none },
BufferLineNumbersVisible = { bg = theme.ui.none },
BufferLineOffsetSeparator = { bg = theme.ui.none },
BufferLineSeparator = { bg = theme.ui.none },
BufferLineSeparatorSelected = { bg = theme.ui.none },
BufferLineSeparatorVisible = { bg = theme.ui.none },
BufferLineTab = { bg = theme.ui.none },
BufferLinePick = { bg = theme.ui.none },
BufferLinePickSelected = { bg = theme.ui.none },
BufferLineDevIconLua = { bg = theme.ui.none },
BufferLineDevIconLuaSelected = { bg = theme.ui.none },
BufferLineDevIconLuaVisible = { bg = theme.ui.none },
BufferLineDevIconLuaInactive = { bg = theme.ui.none },
BufferLinePickVisible = { bg = theme.ui.none },
BufferLineIndicatorVisible = { bg = theme.ui.none },
BufferLineTabClose = { bg = theme.ui.none },
BufferLineTabSelected = { bg = theme.ui.none },
BufferLineTabSeparator = { bg = theme.ui.none },
BufferLineTabSeparatorSelected = { bg = theme.ui.none },
BufferLineTruncMarker = { bg = theme.ui.none },
BufferLineWarning = { bg = theme.ui.none },
BufferLineWarningDiagnostic = { bg = theme.ui.none },
BufferLineWarningDiagnosticSelected = { bg = theme.ui.none },
BufferLineWarningDiagnosticVisible = { bg = theme.ui.none },
BufferLineWarningSelected = { bg = theme.ui.none },
BufferLineWarningVisible = { bg = theme.ui.none },
BufferLineBackground = { fg = theme.ui.none, bg = theme.ui.none },
BufferLineBuffer = { fg = theme.ui.none, bg = theme.ui.none },
BufferLineBufferSelected = { bg = theme.ui.none },
BufferLineBufferVisible = { bg = theme.ui.none },
BufferLineCloseButton = { bg = theme.ui.none },
BufferLineCloseButtonSelected = { bg = theme.ui.none },
BufferLineCloseButtonVisible = { bg = theme.ui.none },
BufferLineDuplicate = { bg = theme.ui.none },
BufferLineDuplicateSelected = { bg = theme.ui.none },
BufferLineDuplicateVisible = { bg = theme.ui.none },
BufferLineError = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorDiagnostic = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorDiagnosticSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorDiagnosticVisible = { bg = theme.ui.none },
BufferLineErrorSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineErrorVisible = { bg = theme.ui.none },
BufferLineFill = { bg = theme.ui.none },
BufferLineHint = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineHintDiagnostic = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineHintDiagnosticSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineHintDiagnosticVisible = { bg = theme.ui.none },
BufferLineHintSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineHintVisible = { bg = theme.ui.none },
BufferLineInfo = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineInfoDiagnostic = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineInfoDiagnosticSelected = { sp = theme.ui.none, bg = theme.ui.none },
BufferLineInfoDiagnosticVisible = { bg = theme.ui.none },
BufferLineInfoSelected = { bg = theme.ui.none, sp = theme.ui.none },
BufferLineInfoVisible = { bg = theme.ui.none },
BufferLineIndicatorSelected = { bg = theme.ui.none },
BufferLineModified = { bg = theme.ui.none },
BufferLineModifiedSelected = { bg = theme.ui.none },
BufferLineModifiedVisible = { bg = theme.ui.none },
BufferLineNumbers = { bg = theme.ui.none },
BufferLineNumbersSelected = { bg = theme.ui.none },
BufferLineNumbersVisible = { bg = theme.ui.none },
BufferLineOffsetSeparator = { bg = theme.ui.none },
BufferLineSeparator = { bg = theme.ui.none },
BufferLineSeparatorSelected = { bg = theme.ui.none },
BufferLineSeparatorVisible = { bg = theme.ui.none },
BufferLineTab = { bg = theme.ui.none },
BufferLinePick = { bg = theme.ui.none },
BufferLinePickSelected = { bg = theme.ui.none },
BufferLineDevIconLua = { bg = theme.ui.none },
BufferLineDevIconLuaSelected = { bg = theme.ui.none },
BufferLineDevIconLuaVisible = { bg = theme.ui.none },
BufferLineDevIconLuaInactive = { bg = theme.ui.none },
BufferLinePickVisible = { bg = theme.ui.none },
BufferLineIndicatorVisible = { bg = theme.ui.none },
BufferLineTabClose = { bg = theme.ui.none },
BufferLineTabSelected = { bg = theme.ui.none },
BufferLineTabSeparator = { bg = theme.ui.none },
BufferLineTabSeparatorSelected = { bg = theme.ui.none },
BufferLineTruncMarker = { bg = theme.ui.none },
BufferLineWarning = { bg = theme.ui.none },
BufferLineWarningDiagnostic = { bg = theme.ui.none },
BufferLineWarningDiagnosticSelected = { bg = theme.ui.none },
BufferLineWarningDiagnosticVisible = { bg = theme.ui.none },
BufferLineWarningSelected = { bg = theme.ui.none },
BufferLineWarningVisible = { bg = theme.ui.none },
}
end

View file

@ -56,6 +56,8 @@ local c = require("kanso.lib.color")
---@field bg_p2 ColorSpec Lighter background Cursor{Line,Column}, TabLineSel (Selected Items)
---@field bg_gutter ColorSpec {Sign,Fold}Column, LineNr
---@field special ColorSpec SpecialKey
---@field indent_line ColorSpec IndentLine
---@field active_indent_line ColorSpec IndentLine
---@field nontext ColorSpec LineNr, NonText
---@field whitespace ColorSpec Whitespace
---@field bg_search ColorSpec
@ -93,35 +95,36 @@ return {
---@param palette PaletteColors
---@return ThemeColors
zen = function(palette)
return {
return {
ui = {
fg = palette.inkWhite,
fg_dim = palette.oldWhite,
fg_reverse = palette.zenBlue1,
fg = palette.inkWhite,
fg_dim = palette.oldWhite,
fg_reverse = palette.zenBlue1,
bg_dim = palette.zen0,
bg_gutter = palette.zen0,
bg_dim = palette.zen0,
bg_m3 = palette.zen0,
bg_m2 = palette.zen0,
bg_m1 = palette.zen0,
bg = palette.zen0,
bg_p1 = palette.zen1,
bg_p2 = palette.zen2,
bg_m3 = palette.zen0,
bg_m2 = palette.zen0,
bg_m1 = palette.zen0,
bg = palette.zen0,
bg_p1 = palette.zen1,
bg_p2 = palette.zen2,
special = palette.inkGray3,
whitespace = palette.inkAsh,
nontext = palette.inkAsh,
special = palette.inkGray3,
indent_line = palette.inkBlack2,
active_indent_line = palette.inkBlack3,
whitespace = palette.inkBlack0,
nontext = palette.inkAsh,
bg_visual = palette.inkBlack2,
bg_search = palette.zenBlue2,
bg_visual = palette.inkBlack2,
bg_search = palette.zenBlue2,
cursor_line_nr_foreground = palette.inkGray3,
cursor_line_nr_foreground = palette.inkGray3,
cursor_line_nr_active_foreground = palette.fujiWhite,
cursor_bg = palette.fujiWhite,
cursor_fg = palette.zen0,
cursor_bg = palette.fujiWhite,
cursor_fg = palette.zen0,
pmenu = {
pmenu = {
fg = palette.fujiWhite,
fg_sel = "NONE",
bg = palette.zenBlue1,
@ -130,10 +133,10 @@ return {
bg_sbar = palette.zenBlue1,
},
float = {
float = {
fg = palette.oldWhite,
bg = palette.zen0,
fg_border = palette.zen3,
fg_border = palette.zen2,
bg_border = palette.zen0,
},
},
@ -177,59 +180,60 @@ return {
changed = palette.autumnYellow,
},
term = {
palette.zen0, -- black
palette.inkRed, -- red
palette.inkGreen2, -- green
palette.inkYellow, -- yellow
palette.inkBlue2, -- blue
palette.inkPink, -- magenta
palette.inkWhite, -- cyan
palette.oldWhite, -- white
palette.inkGray1, -- bright black
palette.zenRed, -- bright red
palette.inkGreen, -- bright green
palette.carpYellow, -- bright yellow
palette.springBlue, -- bright blue
palette.zen0, -- black
palette.inkRed, -- red
palette.inkGreen2, -- green
palette.inkYellow, -- yellow
palette.inkBlue2, -- blue
palette.inkPink, -- magenta
palette.inkWhite, -- cyan
palette.oldWhite, -- white
palette.inkGray1, -- bright black
palette.zenRed, -- bright red
palette.inkGreen, -- bright green
palette.carpYellow, -- bright yellow
palette.springBlue, -- bright blue
palette.springViolet1, -- bright magenta
palette.zenAqua2, -- bright cyan
palette.inkWhite, -- bright white
palette.inkOrange, -- extended color 1
palette.inkOrange2, -- extended color 2
palette.zenAqua2, -- bright cyan
palette.inkWhite, -- bright white
palette.inkOrange, -- extended color 1
palette.inkOrange2, -- extended color 2
},
}
end,
---@param palette PaletteColors
---@return ThemeColors
ink = function(palette)
return {
return {
ui = {
fg = palette.inkWhite,
fg_dim = palette.oldWhite,
fg_reverse = palette.zenBlue1,
fg = palette.inkWhite,
fg_dim = palette.oldWhite,
fg_reverse = palette.zenBlue1,
bg_dim = palette.inkBlack0,
bg_gutter = palette.inkBlack0,
bg_dim = palette.inkBlack0,
bg_m3 = palette.inkBlack0,
bg_m2 = palette.inkBlack0,
bg_m1 = palette.inkBlack0,
bg = palette.inkBlack0,
bg_p1 = palette.inkBlack1,
bg_p2 = palette.inkBlack2,
bg_m3 = palette.inkBlack0,
bg_m2 = palette.inkBlack0,
bg_m1 = palette.inkBlack0,
bg = palette.inkBlack0,
bg_p1 = palette.inkBlack1,
bg_p2 = palette.inkBlack2,
special = palette.inkGray3,
whitespace = palette.inkAsh,
nontext = palette.inkAsh,
special = palette.inkGray3,
indent_line = palette.inkBlack2,
active_indent_line = palette.inkBlack3,
whitespace = palette.inkBlack0,
nontext = palette.inkAsh,
bg_visual = palette.inkBlack3,
bg_search = palette.zenBlue2,
bg_visual = palette.inkBlack3,
bg_search = palette.zenBlue2,
cursor_line_nr_foreground = palette.inkGray3,
cursor_line_nr_foreground = palette.inkGray3,
cursor_line_nr_active_foreground = palette.fujiWhite,
cursor_bg = palette.fujiWhite,
cursor_fg = palette.inkBlack0,
cursor_bg = palette.fujiWhite,
cursor_fg = palette.inkBlack0,
pmenu = {
pmenu = {
fg = palette.fujiWhite,
fg_sel = "NONE",
bg = palette.zenBlue1,
@ -238,10 +242,10 @@ return {
bg_sbar = palette.zenBlue1,
},
float = {
float = {
fg = palette.oldWhite,
bg = palette.inkBlack0,
fg_border = palette.inkBlack3,
fg_border = palette.inkBlack2,
bg_border = palette.inkBlack0,
},
},
@ -285,24 +289,24 @@ return {
changed = palette.autumnYellow,
},
term = {
palette.inkBlack0, -- black
palette.inkRed, -- red
palette.inkGreen2, -- green
palette.inkYellow, -- yellow
palette.inkBlue2, -- blue
palette.inkPink, -- magenta
palette.inkWhite, -- cyan
palette.oldWhite, -- white
palette.inkGray1, -- bright black
palette.zenRed, -- bright red
palette.inkGreen, -- bright green
palette.carpYellow, -- bright yellow
palette.springBlue, -- bright blue
palette.inkBlack0, -- black
palette.inkRed, -- red
palette.inkGreen2, -- green
palette.inkYellow, -- yellow
palette.inkBlue2, -- blue
palette.inkPink, -- magenta
palette.inkWhite, -- cyan
palette.oldWhite, -- white
palette.inkGray1, -- bright black
palette.zenRed, -- bright red
palette.inkGreen, -- bright green
palette.carpYellow, -- bright yellow
palette.springBlue, -- bright blue
palette.springViolet1, -- bright magenta
palette.zenAqua2, -- bright cyan
palette.inkWhite, -- bright white
palette.inkOrange, -- extended color 1
palette.inkOrange2, -- extended color 2
palette.zenAqua2, -- bright cyan
palette.inkWhite, -- bright white
palette.inkOrange, -- extended color 1
palette.inkOrange2, -- extended color 2
},
}
end,
@ -311,33 +315,34 @@ return {
pearl = function(palette)
return {
ui = {
fg = palette.pearlInk0,
fg_dim = palette.pearlInk0,
fg_reverse = palette.pearlGray,
fg = palette.pearlInk0,
fg_dim = palette.pearlInk0,
fg_reverse = palette.pearlGray,
bg_dim = palette.pearlWhite0,
bg_gutter = palette.pearlWhite0,
bg_dim = palette.pearlWhite0,
bg_m3 = palette.pearlWhite0,
bg_m2 = palette.pearlWhite0,
bg_m1 = palette.pearlWhite0,
bg = palette.pearlWhite0,
bg_p1 = palette.pearlWhite1,
bg_p2 = palette.pearlWhite1,
bg_m3 = palette.pearlWhite0,
bg_m2 = palette.pearlWhite0,
bg_m1 = palette.pearlWhite0,
bg = palette.pearlWhite0,
bg_p1 = palette.pearlWhite1,
bg_p2 = palette.pearlWhite1,
nontext = palette.pearlViolet1,
whitespace = palette.pearlViolet1,
special = palette.pearlViolet2,
nontext = palette.pearlViolet1,
whitespace = palette.pearlWhite0,
special = palette.pearlViolet2,
indent_line = palette.pearlWhite1,
active_indent_line = palette.pearlWhite2,
bg_visual = palette.pearlWhite2,
bg_search = palette.pearlBlue2,
bg_visual = palette.pearlWhite2,
bg_search = palette.pearlBlue2,
cursor_line_nr_foreground = palette.pearlGray4,
cursor_line_nr_foreground = palette.pearlGray4,
cursor_line_nr_active_foreground = palette.inkBlack2,
cursor_bg = palette.fujiWhite,
cursor_fg = palette.inkBlack2,
cursor_bg = palette.fujiWhite,
cursor_fg = palette.inkBlack2,
pmenu = {
pmenu = {
fg = palette.pearlInk2,
fg_sel = "NONE", -- This is important to make highlights pass-through
bg = palette.pearlBlue1,
@ -345,10 +350,10 @@ return {
bg_sbar = palette.pearlBlue1,
bg_thumb = palette.pearlBlue2,
},
float = {
float = {
fg = palette.pearlInk2,
bg = palette.pearlWhite0,
fg_border = palette.pearlGray2,
fg_border = palette.pearlWhite2,
bg_border = palette.pearlWhite0,
},
},
@ -392,24 +397,24 @@ return {
hint = palette.pearlAqua2,
},
term = {
palette.inkBlack2, -- black
palette.pearlRed, -- red
palette.pearlGreen, -- green
palette.pearlYellow, -- yellow
palette.pearlBlue4, -- blue
palette.pearlPink, -- magenta
palette.pearlAqua, -- cyan
palette.pearlInk0, -- white
palette.pearlGray3 , -- bright black
palette.pearlRed2, -- bright red
palette.pearlGreen2, -- bright green
palette.inkBlack2, -- black
palette.pearlRed, -- red
palette.pearlGreen, -- green
palette.pearlYellow, -- yellow
palette.pearlBlue4, -- blue
palette.pearlPink, -- magenta
palette.pearlAqua, -- cyan
palette.pearlInk0, -- white
palette.pearlGray3, -- bright black
palette.pearlRed2, -- bright red
palette.pearlGreen2, -- bright green
palette.pearlYellow2, -- bright yellow
palette.pearlTeal2, -- bright blue
palette.pearlTeal2, -- bright blue
palette.pearlViolet4, -- bright magenta
palette.pearlAqua2, -- bright cyan
palette.pearlInk2, -- bright white
palette.pearlAqua2, -- bright cyan
palette.pearlInk2, -- bright white
palette.pearlOrange2, -- extended color 1
palette.pearlRed3, -- extended color 2
palette.pearlRed3, -- extended color 2
},
}
end,

View file

@ -3,41 +3,41 @@ local theme = require("kanso.colors").setup().theme
local kanso = {}
kanso.normal = {
a = { bg = theme.syn.fun, fg = theme.ui.bg },
b = { bg = theme.diff.change, fg = theme.syn.fun },
c = { bg = theme.ui.bg, fg = theme.ui.fg },
a = { bg = theme.syn.fun, fg = theme.ui.bg },
b = { bg = theme.ui.none, fg = theme.syn.fun },
c = { bg = theme.ui.none, fg = theme.ui.fg },
}
kanso.insert = {
a = { bg = theme.diag.ok, fg = theme.ui.bg },
b = { bg = theme.ui.bg, fg = theme.diag.ok },
a = { bg = theme.diag.ok, fg = theme.ui.bg },
b = { bg = theme.ui.none, fg = theme.diag.ok },
}
kanso.command = {
a = { bg = theme.syn.operator, fg = theme.ui.bg },
b = { bg = theme.ui.bg, fg = theme.syn.operator },
a = { bg = theme.syn.operator, fg = theme.ui.bg },
b = { bg = theme.ui.none, fg = theme.syn.operator },
}
kanso.visual = {
a = { bg = theme.syn.keyword, fg = theme.ui.bg },
b = { bg = theme.ui.bg, fg = theme.syn.keyword },
a = { bg = theme.syn.keyword, fg = theme.ui.bg },
b = { bg = theme.ui.none, fg = theme.syn.keyword },
}
kanso.replace = {
a = { bg = theme.syn.constant, fg = theme.ui.bg },
b = { bg = theme.ui.bg, fg = theme.syn.constant },
a = { bg = theme.syn.constant, fg = theme.ui.bg },
b = { bg = theme.ui.none, fg = theme.syn.constant },
}
kanso.inactive = {
a = { bg = theme.ui.bg, fg = theme.ui.fg_dim },
b = { bg = theme.ui.bg, fg = theme.ui.fg_dim },
c = { bg = theme.ui.bg, fg = theme.ui.fg_dim },
a = { bg = theme.ui.none, fg = theme.ui.fg_dim },
b = { bg = theme.ui.none, fg = theme.ui.fg_dim },
c = { bg = theme.ui.none, fg = theme.ui.fg_dim },
}
if vim.g.kanso_lualine_bold then
for _, mode in pairs(kanso) do
mode.a.gui = "bold"
end
for _, mode in pairs(kanso) do
mode.a.gui = "bold"
end
end
return kanso