cozybox.nvim/lua/cozybox.lua
2026-03-20 16:47:25 -04:00

1428 lines
65 KiB
Lua

---@class Cozybox
---@field config CozyboxConfig
---@field palette CozyboxPalette
local Cozybox = {}
---@alias Contrast "hard" | "soft" | ""
---@class ItalicConfig
---@field strings boolean
---@field comments boolean
---@field operators boolean
---@field folds boolean
---@field emphasis boolean
---@class HighlightDefinition
---@field fg string?
---@field bg string?
---@field sp string?
---@field blend integer?
---@field bold boolean?
---@field standout boolean?
---@field underline boolean?
---@field undercurl boolean?
---@field underdouble boolean?
---@field underdotted boolean?
---@field strikethrough boolean?
---@field italic boolean?
---@field reverse boolean?
---@field nocombine boolean?
---@class CozyboxConfig
---@field bold boolean?
---@field contrast Contrast?
---@field dim_inactive boolean?
---@field inverse boolean?
---@field invert_selection boolean?
---@field invert_signs boolean?
---@field invert_tabline boolean?
---@field italic ItalicConfig?
---@field overrides table<string, HighlightDefinition>?
---@field palette_overrides table<string, string>?
---@field strikethrough boolean?
---@field terminal_colors boolean?
---@field transparent_mode boolean?
---@field undercurl boolean?
---@field underline boolean?
local default_config = {
terminal_colors = true,
undercurl = true,
underline = true,
bold = true,
italic = {
strings = true,
emphasis = true,
comments = true,
operators = false,
folds = true,
},
strikethrough = true,
invert_selection = false,
invert_signs = false,
invert_tabline = false,
inverse = true,
contrast = "hard",
palette_overrides = {
bright_red = "#ea6962",
neutral_red = "#ea6962",
faded_red = "#ea6962",
bright_blue = "#5b84de",
neutral_blue = "#5b84de",
faded_blue = "#6c86c8",
bright_green = "#8ec97c",
neutral_green = "#8ec97c",
faded_green = "#6fae70",
},
overrides = {
MatchParen = { bold = true, underline = true, fg = "#d8a657", bg = "#3c3836" },
Normal = { bg = "#181818" },
NormalFloat = { bg = "#181818" },
SignColumn = { bg = "#181818" },
StatusLine = { bg = "#181818" },
StatusLineNC = { bg = "#181818" },
GitSignsAdd = { fg = "#a9b665", bg = "#181818" },
GitSignsChange = { fg = "#d8a657", bg = "#181818" },
GitSignsDelete = { fg = "#ea6962", bg = "#181818" },
GitSignsTopdelete = { fg = "#ea6962", bg = "#181818" },
GitSignsChangedelete = { fg = "#d8a657", bg = "#181818" },
GitSignsUntracked = { fg = "#7daea3", bg = "#181818" },
GitSignsStagedAdd = { fg = "#6c7842", bg = "#181818" },
GitSignsStagedChange = { fg = "#8a6d39", bg = "#181818" },
GitSignsStagedDelete = { fg = "#94433f", bg = "#181818" },
GitSignsStagedTopdelete = { fg = "#94433f", bg = "#181818" },
GitSignsStagedChangedelete = { fg = "#8a6d39", bg = "#181818" },
LineNr = { bg = "#181818" },
CursorLineNr = { bg = "#181818" },
CursorLine = { bg = "#1e1e1e" },
FoldColumn = { bg = "#181818" },
DiffAdd = { bg = "#1e2718" },
DiffChange = { bg = "#1e1e18" },
DiffDelete = { bg = "#2a1818" },
},
dim_inactive = false,
transparent_mode = false,
}
Cozybox.config = vim.deepcopy(default_config)
-- main cozybox color palette
---@class CozyboxPalette
Cozybox.palette = {
dark0_hard = "#1d2021",
dark0 = "#282828",
dark0_soft = "#32302f",
dark1 = "#3c3836",
dark2 = "#504945",
dark3 = "#665c54",
dark4 = "#7c6f64",
light0_hard = "#f9f5d7",
light0 = "#fbf1c7",
light0_soft = "#f2e5bc",
light1 = "#ebdbb2",
light2 = "#d5c4a1",
light3 = "#bdae93",
light4 = "#a89984",
bright_red = "#fb4934",
bright_green = "#b8bb26",
bright_yellow = "#fabd2f",
bright_blue = "#83a598",
bright_purple = "#d3869b",
bright_aqua = "#8ec07c",
bright_orange = "#fe8019",
neutral_red = "#cc241d",
neutral_green = "#98971a",
neutral_yellow = "#d79921",
neutral_blue = "#458588",
neutral_purple = "#b16286",
neutral_aqua = "#689d6a",
neutral_orange = "#d65d0e",
faded_red = "#9d0006",
faded_green = "#79740e",
faded_yellow = "#b57614",
faded_blue = "#076678",
faded_purple = "#8f3f71",
faded_aqua = "#427b58",
faded_orange = "#af3a03",
dark_red_hard = "#792329",
dark_red = "#722529",
dark_red_soft = "#7b2c2f",
light_red_hard = "#fc9690",
light_red = "#fc9487",
light_red_soft = "#f78b7f",
dark_green_hard = "#5a633a",
dark_green = "#62693e",
dark_green_soft = "#686d43",
light_green_hard = "#d3d6a5",
light_green = "#d5d39b",
light_green_soft = "#cecb94",
dark_aqua_hard = "#3e4934",
dark_aqua = "#49503b",
dark_aqua_soft = "#525742",
light_aqua_hard = "#e6e9c1",
light_aqua = "#e8e5b5",
light_aqua_soft = "#e1dbac",
gray = "#928374",
}
-- get a hex list of cozybox colors based on current bg and constrast config
local function get_colors()
local p = Cozybox.palette
local config = Cozybox.config
for color, hex in pairs(config.palette_overrides) do
p[color] = hex
end
local bg = vim.o.background
local contrast = config.contrast
local color_groups = {
dark = {
bg0 = p.dark0,
bg1 = p.dark1,
bg2 = p.dark2,
bg3 = p.dark3,
bg4 = p.dark4,
fg0 = p.light0,
fg1 = p.light1,
fg2 = p.light2,
fg3 = p.light3,
fg4 = p.light4,
red = p.bright_red,
green = p.bright_green,
yellow = p.bright_yellow,
blue = p.bright_blue,
purple = p.bright_purple,
aqua = p.bright_aqua,
orange = p.bright_orange,
neutral_red = p.neutral_red,
neutral_green = p.neutral_green,
neutral_yellow = p.neutral_yellow,
neutral_blue = p.neutral_blue,
neutral_purple = p.neutral_purple,
neutral_aqua = p.neutral_aqua,
dark_red = p.dark_red,
dark_green = p.dark_green,
dark_aqua = p.dark_aqua,
gray = p.gray,
},
light = {
bg0 = p.light0,
bg1 = p.light1,
bg2 = p.light2,
bg3 = p.light3,
bg4 = p.light4,
fg0 = p.dark0,
fg1 = p.dark1,
fg2 = p.dark2,
fg3 = p.dark3,
fg4 = p.dark4,
red = p.bright_red,
green = p.bright_green,
yellow = p.bright_yellow,
blue = p.bright_blue,
purple = p.bright_purple,
aqua = p.bright_aqua,
orange = p.bright_orange,
neutral_red = p.neutral_red,
neutral_green = p.neutral_green,
neutral_yellow = p.neutral_yellow,
neutral_blue = p.neutral_blue,
neutral_purple = p.neutral_purple,
neutral_aqua = p.neutral_aqua,
dark_red = p.dark_red,
dark_green = p.dark_green,
dark_aqua = p.dark_aqua,
gray = p.gray,
},
}
if contrast ~= nil and contrast ~= "" then
color_groups[bg].bg0 = p[bg .. "0_" .. contrast]
local overlay_bg = bg == "light" and "dark" or bg
color_groups[bg].dark_red = p[overlay_bg .. "_red_" .. contrast]
color_groups[bg].dark_green = p[overlay_bg .. "_green_" .. contrast]
color_groups[bg].dark_aqua = p[overlay_bg .. "_aqua_" .. contrast]
end
return color_groups[bg]
end
local function get_groups()
local colors = get_colors()
local config = Cozybox.config
if config.terminal_colors then
local term_colors = {
colors.bg0,
colors.neutral_red,
colors.neutral_green,
colors.neutral_yellow,
colors.neutral_blue,
colors.neutral_purple,
colors.neutral_aqua,
colors.fg4,
colors.gray,
colors.red,
colors.green,
colors.yellow,
colors.blue,
colors.purple,
colors.aqua,
colors.fg1,
}
for index, value in ipairs(term_colors) do
vim.g["terminal_color_" .. index - 1] = value
end
end
local groups = {
CozyboxFg0 = { fg = colors.fg0 },
CozyboxFg1 = { fg = colors.fg1 },
CozyboxFg2 = { fg = colors.fg2 },
CozyboxFg3 = { fg = colors.fg3 },
CozyboxFg4 = { fg = colors.fg4 },
CozyboxGray = { fg = colors.gray },
CozyboxBg0 = { fg = colors.bg0 },
CozyboxBg1 = { fg = colors.bg1 },
CozyboxBg2 = { fg = colors.bg2 },
CozyboxBg3 = { fg = colors.bg3 },
CozyboxBg4 = { fg = colors.bg4 },
CozyboxRed = { fg = colors.red },
CozyboxRedBold = { fg = colors.red, bold = config.bold },
CozyboxGreen = { fg = colors.green },
CozyboxGreenBold = { fg = colors.green, bold = config.bold },
CozyboxYellow = { fg = colors.yellow },
CozyboxYellowBold = { fg = colors.yellow, bold = config.bold },
CozyboxBlue = { fg = colors.blue },
CozyboxBlueBold = { fg = colors.blue, bold = config.bold },
CozyboxPurple = { fg = colors.purple },
CozyboxPurpleBold = { fg = colors.purple, bold = config.bold },
CozyboxAqua = { fg = colors.aqua },
CozyboxAquaBold = { fg = colors.aqua, bold = config.bold },
CozyboxOrange = { fg = colors.orange },
CozyboxOrangeBold = { fg = colors.orange, bold = config.bold },
CozyboxRedSign = config.transparent_mode and { fg = colors.red, reverse = config.invert_signs }
or { fg = colors.red, bg = colors.bg1, reverse = config.invert_signs },
CozyboxGreenSign = config.transparent_mode and { fg = colors.green, reverse = config.invert_signs }
or { fg = colors.green, bg = colors.bg1, reverse = config.invert_signs },
CozyboxYellowSign = config.transparent_mode and { fg = colors.yellow, reverse = config.invert_signs }
or { fg = colors.yellow, bg = colors.bg1, reverse = config.invert_signs },
CozyboxBlueSign = config.transparent_mode and { fg = colors.blue, reverse = config.invert_signs }
or { fg = colors.blue, bg = colors.bg1, reverse = config.invert_signs },
CozyboxPurpleSign = config.transparent_mode and { fg = colors.purple, reverse = config.invert_signs }
or { fg = colors.purple, bg = colors.bg1, reverse = config.invert_signs },
CozyboxAquaSign = config.transparent_mode and { fg = colors.aqua, reverse = config.invert_signs }
or { fg = colors.aqua, bg = colors.bg1, reverse = config.invert_signs },
CozyboxOrangeSign = config.transparent_mode and { fg = colors.orange, reverse = config.invert_signs }
or { fg = colors.orange, bg = colors.bg1, reverse = config.invert_signs },
CozyboxRedUnderline = { undercurl = config.undercurl, sp = colors.red },
CozyboxGreenUnderline = { undercurl = config.undercurl, sp = colors.green },
CozyboxYellowUnderline = { undercurl = config.undercurl, sp = colors.yellow },
CozyboxBlueUnderline = { undercurl = config.undercurl, sp = colors.blue },
CozyboxPurpleUnderline = { undercurl = config.undercurl, sp = colors.purple },
CozyboxAquaUnderline = { undercurl = config.undercurl, sp = colors.aqua },
CozyboxOrangeUnderline = { undercurl = config.undercurl, sp = colors.orange },
Normal = config.transparent_mode and { fg = colors.fg1, bg = nil } or { fg = colors.fg1, bg = colors.bg0 },
NormalFloat = config.transparent_mode and { fg = colors.fg1, bg = nil } or { fg = colors.fg1, bg = colors.bg1 },
NormalNC = config.dim_inactive and { fg = colors.fg0, bg = colors.bg1 } or { link = "Normal" },
CursorLine = { bg = colors.bg1 },
CursorColumn = { link = "CursorLine" },
TabLineFill = { fg = colors.bg4, bg = colors.bg1, reverse = config.invert_tabline },
TabLineSel = { fg = colors.green, bg = colors.bg1, reverse = config.invert_tabline },
TabLine = { link = "TabLineFill" },
MatchParen = { bg = colors.bg3, bold = config.bold },
ColorColumn = { bg = colors.bg1 },
Conceal = { fg = colors.blue },
CursorLineNr = { fg = colors.yellow, bg = colors.bg1 },
NonText = { link = "CozyboxBg2" },
SpecialKey = { link = "CozyboxFg4" },
Visual = { bg = colors.bg3, reverse = config.invert_selection },
VisualNOS = { link = "Visual" },
Search = { fg = colors.yellow, bg = colors.bg0, reverse = config.inverse },
IncSearch = { fg = colors.orange, bg = colors.bg0, reverse = config.inverse },
CurSearch = { link = "IncSearch" },
QuickFixLine = { link = "CozyboxPurple" },
Underlined = { fg = colors.blue, underline = config.underline },
StatusLine = { fg = colors.fg1, bg = colors.bg2 },
StatusLineNC = { fg = colors.fg4, bg = colors.bg1 },
WinBar = { fg = colors.fg4, bg = colors.bg0 },
WinBarNC = { fg = colors.fg3, bg = colors.bg1 },
WinSeparator = config.transparent_mode and { fg = colors.bg3, bg = nil } or { fg = colors.bg3, bg = colors.bg0 },
WildMenu = { fg = colors.blue, bg = colors.bg2, bold = config.bold },
Directory = { link = "CozyboxGreenBold" },
Title = { link = "CozyboxGreenBold" },
ErrorMsg = { fg = colors.bg0, bg = colors.red, bold = config.bold },
MoreMsg = { link = "CozyboxYellowBold" },
ModeMsg = { link = "CozyboxYellowBold" },
Question = { link = "CozyboxOrangeBold" },
WarningMsg = { link = "CozyboxRedBold" },
LineNr = { fg = colors.bg4 },
SignColumn = config.transparent_mode and { bg = nil } or { bg = colors.bg1 },
Folded = { fg = colors.gray, bg = colors.bg1, italic = config.italic.folds },
FoldColumn = config.transparent_mode and { fg = colors.gray, bg = nil } or { fg = colors.gray, bg = colors.bg1 },
Cursor = { reverse = config.inverse },
vCursor = { link = "Cursor" },
iCursor = { link = "Cursor" },
lCursor = { link = "Cursor" },
Special = { link = "CozyboxOrange" },
Comment = { fg = colors.gray, italic = config.italic.comments },
Todo = { fg = colors.bg0, bg = colors.yellow, bold = config.bold, italic = config.italic.comments },
Done = { fg = colors.orange, bold = config.bold, italic = config.italic.comments },
Error = { fg = colors.red, bold = config.bold, reverse = config.inverse },
Statement = { link = "CozyboxRed" },
Conditional = { link = "CozyboxRed" },
Repeat = { link = "CozyboxRed" },
Label = { link = "CozyboxRed" },
Exception = { link = "CozyboxRed" },
Operator = { fg = colors.fg3, italic = config.italic.operators },
Keyword = { link = "CozyboxRed" },
Identifier = { link = "CozyboxBlue" },
Function = { link = "CozyboxGreenBold" },
PreProc = { link = "CozyboxAqua" },
Include = { link = "CozyboxAqua" },
Define = { link = "CozyboxAqua" },
Macro = { link = "CozyboxAqua" },
PreCondit = { link = "CozyboxAqua" },
Constant = { link = "CozyboxPurple" },
Character = { link = "CozyboxPurple" },
String = { fg = colors.green, italic = config.italic.strings },
Boolean = { link = "CozyboxPurple" },
Number = { link = "CozyboxPurple" },
Float = { link = "CozyboxPurple" },
Type = { link = "CozyboxYellow" },
StorageClass = { link = "CozyboxOrange" },
Structure = { link = "CozyboxAqua" },
Typedef = { link = "CozyboxYellow" },
Pmenu = { fg = colors.fg1, bg = colors.bg2 },
PmenuSel = { fg = colors.bg2, bg = colors.blue, bold = config.bold },
PmenuSbar = { bg = colors.bg2 },
PmenuThumb = { bg = colors.bg4 },
DiffDelete = { bg = colors.dark_red },
DiffAdd = { bg = colors.dark_green },
DiffChange = { bg = colors.dark_aqua },
DiffText = { bg = colors.yellow, fg = colors.bg0 },
SpellCap = { link = "CozyboxBlueUnderline" },
SpellBad = { link = "CozyboxRedUnderline" },
SpellLocal = { link = "CozyboxAquaUnderline" },
SpellRare = { link = "CozyboxPurpleUnderline" },
Whitespace = { fg = colors.bg2 },
Delimiter = { fg = colors.fg3 },
EndOfBuffer = { link = "NonText" },
DiagnosticError = { link = "CozyboxRed" },
DiagnosticWarn = { link = "CozyboxYellow" },
DiagnosticInfo = { link = "CozyboxBlue" },
DiagnosticDeprecated = { strikethrough = config.strikethrough },
DiagnosticHint = { link = "CozyboxAqua" },
DiagnosticOk = { link = "CozyboxGreen" },
DiagnosticSignError = { link = "CozyboxRedSign" },
DiagnosticSignWarn = { link = "CozyboxYellowSign" },
DiagnosticSignInfo = { link = "CozyboxBlueSign" },
DiagnosticSignHint = { link = "CozyboxAquaSign" },
DiagnosticSignOk = { link = "CozyboxGreenSign" },
DiagnosticUnderlineError = { link = "CozyboxRedUnderline" },
DiagnosticUnderlineWarn = { link = "CozyboxYellowUnderline" },
DiagnosticUnderlineInfo = { link = "CozyboxBlueUnderline" },
DiagnosticUnderlineHint = { link = "CozyboxAquaUnderline" },
DiagnosticUnderlineOk = { link = "CozyboxGreenUnderline" },
DiagnosticFloatingError = { link = "CozyboxRed" },
DiagnosticFloatingWarn = { link = "CozyboxOrange" },
DiagnosticFloatingInfo = { link = "CozyboxBlue" },
DiagnosticFloatingHint = { link = "CozyboxAqua" },
DiagnosticFloatingOk = { link = "CozyboxGreen" },
DiagnosticVirtualTextError = { link = "CozyboxRed" },
DiagnosticVirtualTextWarn = { link = "CozyboxYellow" },
DiagnosticVirtualTextInfo = { link = "CozyboxBlue" },
DiagnosticVirtualTextHint = { link = "CozyboxAqua" },
DiagnosticVirtualTextOk = { link = "CozyboxGreen" },
LspReferenceRead = { link = "CozyboxYellowBold" },
LspReferenceTarget = { link = "Visual" },
LspReferenceText = { link = "CozyboxYellowBold" },
LspReferenceWrite = { link = "CozyboxOrangeBold" },
LspCodeLens = { link = "CozyboxGray" },
LspSignatureActiveParameter = { link = "Search" },
gitcommitSelectedFile = { link = "CozyboxGreen" },
gitcommitDiscardedFile = { link = "CozyboxRed" },
GitSignsAdd = { link = "CozyboxGreen" },
GitSignsChange = { link = "CozyboxOrange" },
GitSignsDelete = { link = "CozyboxRed" },
NvimTreeSymlink = { fg = colors.neutral_aqua },
NvimTreeRootFolder = { fg = colors.neutral_purple, bold = true },
NvimTreeFolderIcon = { fg = colors.neutral_blue, bold = true },
NvimTreeFileIcon = { fg = colors.light2 },
NvimTreeExecFile = { fg = colors.neutral_green, bold = true },
NvimTreeOpenedFile = { fg = colors.bright_red, bold = true },
NvimTreeSpecialFile = { fg = colors.neutral_yellow, bold = true, underline = true },
NvimTreeImageFile = { fg = colors.neutral_purple },
NvimTreeIndentMarker = { fg = colors.dark3 },
NvimTreeGitDirty = { fg = colors.neutral_yellow },
NvimTreeGitStaged = { fg = colors.neutral_yellow },
NvimTreeGitMerge = { fg = colors.neutral_purple },
NvimTreeGitRenamed = { fg = colors.neutral_purple },
NvimTreeGitNew = { fg = colors.neutral_yellow },
NvimTreeGitDeleted = { fg = colors.neutral_red },
NvimTreeWindowPicker = { bg = colors.aqua },
debugPC = { link = "DiffAdd" },
debugBreakpoint = { link = "CozyboxRedSign" },
StartifyBracket = { link = "CozyboxFg3" },
StartifyFile = { link = "CozyboxFg1" },
StartifyNumber = { link = "CozyboxBlue" },
StartifyPath = { link = "CozyboxGray" },
StartifySlash = { link = "CozyboxGray" },
StartifySection = { link = "CozyboxYellow" },
StartifySpecial = { link = "CozyboxBg2" },
StartifyHeader = { link = "CozyboxOrange" },
StartifyFooter = { link = "CozyboxBg2" },
StartifyVar = { link = "StartifyPath" },
StartifySelect = { link = "Title" },
DirvishPathTail = { link = "CozyboxAqua" },
DirvishArg = { link = "CozyboxYellow" },
netrwDir = { link = "CozyboxAqua" },
netrwClassify = { link = "CozyboxAqua" },
netrwLink = { link = "CozyboxGray" },
netrwSymLink = { link = "CozyboxFg1" },
netrwExe = { link = "CozyboxYellow" },
netrwComment = { link = "CozyboxGray" },
netrwList = { link = "CozyboxBlue" },
netrwHelpCmd = { link = "CozyboxAqua" },
netrwCmdSep = { link = "CozyboxFg3" },
netrwVersion = { link = "CozyboxGreen" },
NERDTreeDir = { link = "CozyboxAqua" },
NERDTreeDirSlash = { link = "CozyboxAqua" },
NERDTreeOpenable = { link = "CozyboxOrange" },
NERDTreeClosable = { link = "CozyboxOrange" },
NERDTreeFile = { link = "CozyboxFg1" },
NERDTreeExecFile = { link = "CozyboxYellow" },
NERDTreeUp = { link = "CozyboxGray" },
NERDTreeCWD = { link = "CozyboxGreen" },
NERDTreeHelp = { link = "CozyboxFg1" },
NERDTreeToggleOn = { link = "CozyboxGreen" },
NERDTreeToggleOff = { link = "CozyboxRed" },
CocErrorSign = { link = "CozyboxRedSign" },
CocWarningSign = { link = "CozyboxOrangeSign" },
CocInfoSign = { link = "CozyboxBlueSign" },
CocHintSign = { link = "CozyboxAquaSign" },
CocErrorFloat = { link = "CozyboxRed" },
CocWarningFloat = { link = "CozyboxOrange" },
CocInfoFloat = { link = "CozyboxBlue" },
CocHintFloat = { link = "CozyboxAqua" },
CocDiagnosticsError = { link = "CozyboxRed" },
CocDiagnosticsWarning = { link = "CozyboxOrange" },
CocDiagnosticsInfo = { link = "CozyboxBlue" },
CocDiagnosticsHint = { link = "CozyboxAqua" },
CocSearch = { link = "CozyboxBlue" },
CocSelectedText = { link = "CozyboxRed" },
CocMenuSel = { link = "PmenuSel" },
CocCodeLens = { link = "CozyboxGray" },
CocErrorHighlight = { link = "CozyboxRedUnderline" },
CocWarningHighlight = { link = "CozyboxOrangeUnderline" },
CocInfoHighlight = { link = "CozyboxBlueUnderline" },
CocHintHighlight = { link = "CozyboxAquaUnderline" },
SnacksPicker = { link = "CozyboxFg1" },
SnacksPickerBorder = { link = "SnacksPicker" },
SnacksPickerListCursorLine = { link = "CursorLine" },
SnacksPickerMatch = { link = "CozyboxOrange" },
SnacksPickerPrompt = { link = "CozyboxRed" },
SnacksPickerTitle = { link = "SnacksPicker" },
SnacksPickerDir = { link = "CozyboxGray" },
SnacksPickerPathHidden = { link = "CozyboxGray" },
SnacksPickerGitStatusUntracked = { link = "CozyboxGray" },
SnacksPickerPathIgnored = { link = "CozyboxBg3" },
TelescopeNormal = { link = "CozyboxFg1" },
TelescopeSelection = { link = "CursorLine" },
TelescopeSelectionCaret = { link = "CozyboxRed" },
TelescopeMultiSelection = { link = "CozyboxGray" },
TelescopeBorder = { link = "TelescopeNormal" },
TelescopePromptBorder = { link = "TelescopeNormal" },
TelescopeResultsBorder = { link = "TelescopeNormal" },
TelescopePreviewBorder = { link = "TelescopeNormal" },
TelescopeMatching = { link = "CozyboxOrange" },
TelescopePromptPrefix = { link = "CozyboxRed" },
TelescopePrompt = { link = "TelescopeNormal" },
CmpItemAbbr = { link = "CozyboxFg0" },
CmpItemAbbrDeprecated = { link = "CozyboxFg1" },
CmpItemAbbrMatch = { link = "CozyboxBlueBold" },
CmpItemAbbrMatchFuzzy = { link = "CozyboxBlueUnderline" },
CmpItemMenu = { link = "CozyboxGray" },
CmpItemKindText = { link = "CozyboxOrange" },
CmpItemKindVariable = { link = "CozyboxOrange" },
CmpItemKindMethod = { link = "CozyboxBlue" },
CmpItemKindFunction = { link = "CozyboxBlue" },
CmpItemKindConstructor = { link = "CozyboxYellow" },
CmpItemKindUnit = { link = "CozyboxBlue" },
CmpItemKindField = { link = "CozyboxBlue" },
CmpItemKindClass = { link = "CozyboxYellow" },
CmpItemKindInterface = { link = "CozyboxYellow" },
CmpItemKindModule = { link = "CozyboxBlue" },
CmpItemKindProperty = { link = "CozyboxBlue" },
CmpItemKindValue = { link = "CozyboxOrange" },
CmpItemKindEnum = { link = "CozyboxYellow" },
CmpItemKindOperator = { link = "CozyboxYellow" },
CmpItemKindKeyword = { link = "CozyboxPurple" },
CmpItemKindEvent = { link = "CozyboxPurple" },
CmpItemKindReference = { link = "CozyboxPurple" },
CmpItemKindColor = { link = "CozyboxPurple" },
CmpItemKindSnippet = { link = "CozyboxGreen" },
CmpItemKindFile = { link = "CozyboxBlue" },
CmpItemKindFolder = { link = "CozyboxBlue" },
CmpItemKindEnumMember = { link = "CozyboxAqua" },
CmpItemKindConstant = { link = "CozyboxOrange" },
CmpItemKindStruct = { link = "CozyboxYellow" },
CmpItemKindTypeParameter = { link = "CozyboxYellow" },
CmpItemKindTextIcon = { link = "CmpItemKindText" },
CmpItemKindVariableIcon = { link = "CmpItemKindVariable" },
CmpItemKindMethodIcon = { link = "CmpItemKindMethod" },
CmpItemKindFunctionIcon = { link = "CmpItemKindFunction" },
CmpItemKindConstructorIcon = { link = "CmpItemKindConstructor" },
CmpItemKindUnitIcon = { link = "CmpItemKindUnit" },
CmpItemKindFieldIcon = { link = "CmpItemKindField" },
CmpItemKindClassIcon = { link = "CmpItemKindClass" },
CmpItemKindInterfaceIcon = { link = "CmpItemKindInterface" },
CmpItemKindModuleIcon = { link = "CmpItemKindModule" },
CmpItemKindPropertyIcon = { link = "CmpItemKindProperty" },
CmpItemKindValueIcon = { link = "CmpItemKindValue" },
CmpItemKindEnumIcon = { link = "CmpItemKindEnum" },
CmpItemKindOperatorIcon = { link = "CmpItemKindOperator" },
CmpItemKindKeywordIcon = { link = "CmpItemKindKeyword" },
CmpItemKindEventIcon = { link = "CmpItemKindEvent" },
CmpItemKindReferenceIcon = { link = "CmpItemKindReference" },
CmpItemKindColorIcon = { link = "CmpItemKindColor" },
CmpItemKindSnippetIcon = { link = "CmpItemKindSnippet" },
CmpItemKindFileIcon = { link = "CmpItemKindFile" },
CmpItemKindFolderIcon = { link = "CmpItemKindFolder" },
CmpItemKindEnumMemberIcon = { link = "CmpItemKindEnumMember" },
CmpItemKindConstantIcon = { link = "CmpItemKindConstant" },
CmpItemKindStructIcon = { link = "CmpItemKindStruct" },
CmpItemKindTypeParameterIcon = { link = "CmpItemKindTypeParameter" },
BlinkPairsRed = { link = "CozyboxRed" },
BlinkPairsOrange = { link = "CozyboxOrange" },
BlinkPairsYellow = { link = "CozyboxYellow" },
BlinkPairsGreen = { link = "CozyboxGreen" },
BlinkPairsBlue = { link = "CozyboxBlue" },
BlinkPairsCyan = { link = "CozyboxAqua" },
BlinkPairsPurple = { link = "CozyboxPurple" },
BlinkIndentRed = { link = "CozyboxRed" },
BlinkIndentOrange = { link = "CozyboxOrange" },
BlinkIndentYellow = { link = "CozyboxYellow" },
BlinkIndentGreen = { link = "CozyboxGreen" },
BlinkIndentBlue = { link = "CozyboxBlue" },
BlinkIndentCyan = { link = "CozyboxAqua" },
BlinkIndentViolet = { link = "CozyboxPurple" },
BlinkIndentRedUnderline = { underline = true, sp = colors.red },
BlinkIndentOrangeUnderline = { underline = true, sp = colors.orange },
BlinkIndentYellowUnderline = { underline = true, sp = colors.yellow },
BlinkIndentGreenUnderline = { underline = true, sp = colors.green },
BlinkIndentBlueUnderline = { underline = true, sp = colors.blue },
BlinkIndentCyanUnderline = { underline = true, sp = colors.aqua },
BlinkIndentVioletUnderline = { underline = true, sp = colors.purple },
BlinkCmpLabel = { link = "CozyboxFg0" },
BlinkCmpLabelDeprecated = { link = "CozyboxFg1" },
BlinkCmpLabelMatch = { link = "CozyboxBlueBold" },
BlinkCmpLabelDetail = { link = "CozyboxGray" },
BlinkCmpLabelDescription = { link = "CozyboxGray" },
BlinkCmpKindText = { link = "CozyboxOrange" },
BlinkCmpKindVariable = { link = "CozyboxOrange" },
BlinkCmpKindMethod = { link = "CozyboxBlue" },
BlinkCmpKindFunction = { link = "CozyboxBlue" },
BlinkCmpKindConstructor = { link = "CozyboxYellow" },
BlinkCmpKindUnit = { link = "CozyboxBlue" },
BlinkCmpKindField = { link = "CozyboxBlue" },
BlinkCmpKindClass = { link = "CozyboxYellow" },
BlinkCmpKindInterface = { link = "CozyboxYellow" },
BlinkCmpKindModule = { link = "CozyboxBlue" },
BlinkCmpKindProperty = { link = "CozyboxBlue" },
BlinkCmpKindValue = { link = "CozyboxOrange" },
BlinkCmpKindEnum = { link = "CozyboxYellow" },
BlinkCmpKindOperator = { link = "CozyboxYellow" },
BlinkCmpKindKeyword = { link = "CozyboxPurple" },
BlinkCmpKindEvent = { link = "CozyboxPurple" },
BlinkCmpKindReference = { link = "CozyboxPurple" },
BlinkCmpKindColor = { link = "CozyboxPurple" },
BlinkCmpKindSnippet = { link = "CozyboxGreen" },
BlinkCmpKindFile = { link = "CozyboxBlue" },
BlinkCmpKindFolder = { link = "CozyboxBlue" },
BlinkCmpKindEnumMember = { link = "CozyboxAqua" },
BlinkCmpKindConstant = { link = "CozyboxOrange" },
BlinkCmpKindStruct = { link = "CozyboxYellow" },
BlinkCmpKindTypeParameter = { link = "CozyboxYellow" },
BlinkCmpSource = { link = "CozyboxGray" },
BlinkCmpGhostText = { link = "CozyboxBg4" },
diffAdded = { link = "DiffAdd" },
diffRemoved = { link = "DiffDelete" },
diffChanged = { link = "DiffChange" },
diffFile = { link = "CozyboxOrange" },
diffNewFile = { link = "CozyboxYellow" },
diffOldFile = { link = "CozyboxOrange" },
diffLine = { link = "CozyboxBlue" },
diffIndexLine = { link = "diffChanged" },
NavicIconsFile = { link = "CozyboxBlue" },
NavicIconsModule = { link = "CozyboxOrange" },
NavicIconsNamespace = { link = "CozyboxBlue" },
NavicIconsPackage = { link = "CozyboxAqua" },
NavicIconsClass = { link = "CozyboxYellow" },
NavicIconsMethod = { link = "CozyboxBlue" },
NavicIconsProperty = { link = "CozyboxAqua" },
NavicIconsField = { link = "CozyboxPurple" },
NavicIconsConstructor = { link = "CozyboxBlue" },
NavicIconsEnum = { link = "CozyboxPurple" },
NavicIconsInterface = { link = "CozyboxGreen" },
NavicIconsFunction = { link = "CozyboxBlue" },
NavicIconsVariable = { link = "CozyboxPurple" },
NavicIconsConstant = { link = "CozyboxOrange" },
NavicIconsString = { link = "CozyboxGreen" },
NavicIconsNumber = { link = "CozyboxOrange" },
NavicIconsBoolean = { link = "CozyboxOrange" },
NavicIconsArray = { link = "CozyboxOrange" },
NavicIconsObject = { link = "CozyboxOrange" },
NavicIconsKey = { link = "CozyboxAqua" },
NavicIconsNull = { link = "CozyboxOrange" },
NavicIconsEnumMember = { link = "CozyboxYellow" },
NavicIconsStruct = { link = "CozyboxPurple" },
NavicIconsEvent = { link = "CozyboxYellow" },
NavicIconsOperator = { link = "CozyboxRed" },
NavicIconsTypeParameter = { link = "CozyboxRed" },
NavicText = { link = "CozyboxWhite" },
NavicSeparator = { link = "CozyboxWhite" },
htmlTag = { link = "CozyboxAquaBold" },
htmlEndTag = { link = "CozyboxAquaBold" },
htmlTagName = { link = "CozyboxBlue" },
htmlArg = { link = "CozyboxOrange" },
htmlTagN = { link = "CozyboxFg1" },
htmlSpecialTagName = { link = "CozyboxBlue" },
htmlLink = { fg = colors.fg4, underline = config.underline },
htmlSpecialChar = { link = "CozyboxRed" },
htmlBold = { fg = colors.fg0, bg = colors.bg0, bold = config.bold },
htmlBoldUnderline = { fg = colors.fg0, bg = colors.bg0, bold = config.bold, underline = config.underline },
htmlBoldItalic = { fg = colors.fg0, bg = colors.bg0, bold = config.bold, italic = true },
htmlBoldUnderlineItalic = {
fg = colors.fg0,
bg = colors.bg0,
bold = config.bold,
italic = true,
underline = config.underline,
},
htmlUnderline = { fg = colors.fg0, bg = colors.bg0, underline = config.underline },
htmlUnderlineItalic = {
fg = colors.fg0,
bg = colors.bg0,
italic = true,
underline = config.underline,
},
htmlItalic = { fg = colors.fg0, bg = colors.bg0, italic = true },
xmlTag = { link = "CozyboxAquaBold" },
xmlEndTag = { link = "CozyboxAquaBold" },
xmlTagName = { link = "CozyboxBlue" },
xmlEqual = { link = "CozyboxBlue" },
docbkKeyword = { link = "CozyboxAquaBold" },
xmlDocTypeDecl = { link = "CozyboxGray" },
xmlDocTypeKeyword = { link = "CozyboxPurple" },
xmlCdataStart = { link = "CozyboxGray" },
xmlCdataCdata = { link = "CozyboxPurple" },
dtdFunction = { link = "CozyboxGray" },
dtdTagName = { link = "CozyboxPurple" },
xmlAttrib = { link = "CozyboxOrange" },
xmlProcessingDelim = { link = "CozyboxGray" },
dtdParamEntityPunct = { link = "CozyboxGray" },
dtdParamEntityDPunct = { link = "CozyboxGray" },
xmlAttribPunct = { link = "CozyboxGray" },
xmlEntity = { link = "CozyboxRed" },
xmlEntityPunct = { link = "CozyboxRed" },
clojureKeyword = { link = "CozyboxBlue" },
clojureCond = { link = "CozyboxOrange" },
clojureSpecial = { link = "CozyboxOrange" },
clojureDefine = { link = "CozyboxOrange" },
clojureFunc = { link = "CozyboxYellow" },
clojureRepeat = { link = "CozyboxYellow" },
clojureCharacter = { link = "CozyboxAqua" },
clojureStringEscape = { link = "CozyboxAqua" },
clojureException = { link = "CozyboxRed" },
clojureRegexp = { link = "CozyboxAqua" },
clojureRegexpEscape = { link = "CozyboxAqua" },
clojureRegexpCharClass = { fg = colors.fg3, bold = config.bold },
clojureRegexpMod = { link = "clojureRegexpCharClass" },
clojureRegexpQuantifier = { link = "clojureRegexpCharClass" },
clojureParen = { link = "CozyboxFg3" },
clojureAnonArg = { link = "CozyboxYellow" },
clojureVariable = { link = "CozyboxBlue" },
clojureMacro = { link = "CozyboxOrange" },
clojureMeta = { link = "CozyboxYellow" },
clojureDeref = { link = "CozyboxYellow" },
clojureQuote = { link = "CozyboxYellow" },
clojureUnquote = { link = "CozyboxYellow" },
cOperator = { link = "CozyboxPurple" },
cppOperator = { link = "CozyboxPurple" },
cStructure = { link = "CozyboxOrange" },
pythonBuiltin = { link = "CozyboxOrange" },
pythonBuiltinObj = { link = "CozyboxOrange" },
pythonBuiltinFunc = { link = "CozyboxOrange" },
pythonFunction = { link = "CozyboxAqua" },
pythonDecorator = { link = "CozyboxRed" },
pythonInclude = { link = "CozyboxBlue" },
pythonImport = { link = "CozyboxBlue" },
pythonRun = { link = "CozyboxBlue" },
pythonCoding = { link = "CozyboxBlue" },
pythonOperator = { link = "CozyboxRed" },
pythonException = { link = "CozyboxRed" },
pythonExceptions = { link = "CozyboxPurple" },
pythonBoolean = { link = "CozyboxPurple" },
pythonDot = { link = "CozyboxFg3" },
pythonConditional = { link = "CozyboxRed" },
pythonRepeat = { link = "CozyboxRed" },
pythonDottedName = { link = "CozyboxGreenBold" },
cssBraces = { link = "CozyboxBlue" },
cssFunctionName = { link = "CozyboxYellow" },
cssIdentifier = { link = "CozyboxOrange" },
cssClassName = { link = "CozyboxGreen" },
cssColor = { link = "CozyboxBlue" },
cssSelectorOp = { link = "CozyboxBlue" },
cssSelectorOp2 = { link = "CozyboxBlue" },
cssImportant = { link = "CozyboxGreen" },
cssVendor = { link = "CozyboxFg1" },
cssTextProp = { link = "CozyboxAqua" },
cssAnimationProp = { link = "CozyboxAqua" },
cssUIProp = { link = "CozyboxYellow" },
cssTransformProp = { link = "CozyboxAqua" },
cssTransitionProp = { link = "CozyboxAqua" },
cssPrintProp = { link = "CozyboxAqua" },
cssPositioningProp = { link = "CozyboxYellow" },
cssBoxProp = { link = "CozyboxAqua" },
cssFontDescriptorProp = { link = "CozyboxAqua" },
cssFlexibleBoxProp = { link = "CozyboxAqua" },
cssBorderOutlineProp = { link = "CozyboxAqua" },
cssBackgroundProp = { link = "CozyboxAqua" },
cssMarginProp = { link = "CozyboxAqua" },
cssListProp = { link = "CozyboxAqua" },
cssTableProp = { link = "CozyboxAqua" },
cssFontProp = { link = "CozyboxAqua" },
cssPaddingProp = { link = "CozyboxAqua" },
cssDimensionProp = { link = "CozyboxAqua" },
cssRenderProp = { link = "CozyboxAqua" },
cssColorProp = { link = "CozyboxAqua" },
cssGeneratedContentProp = { link = "CozyboxAqua" },
javaScriptBraces = { link = "CozyboxFg1" },
javaScriptFunction = { link = "CozyboxAqua" },
javaScriptIdentifier = { link = "CozyboxRed" },
javaScriptMember = { link = "CozyboxBlue" },
javaScriptNumber = { link = "CozyboxPurple" },
javaScriptNull = { link = "CozyboxPurple" },
javaScriptParens = { link = "CozyboxFg3" },
typescriptReserved = { link = "CozyboxAqua" },
typescriptLabel = { link = "CozyboxAqua" },
typescriptFuncKeyword = { link = "CozyboxAqua" },
typescriptIdentifier = { link = "CozyboxOrange" },
typescriptBraces = { link = "CozyboxFg1" },
typescriptEndColons = { link = "CozyboxFg1" },
typescriptDOMObjects = { link = "CozyboxFg1" },
typescriptAjaxMethods = { link = "CozyboxFg1" },
typescriptLogicSymbols = { link = "CozyboxFg1" },
typescriptDocSeeTag = { link = "Comment" },
typescriptDocParam = { link = "Comment" },
typescriptDocTags = { link = "vimCommentTitle" },
typescriptGlobalObjects = { link = "CozyboxFg1" },
typescriptParens = { link = "CozyboxFg3" },
typescriptOpSymbols = { link = "CozyboxFg3" },
typescriptHtmlElemProperties = { link = "CozyboxFg1" },
typescriptNull = { link = "CozyboxPurple" },
typescriptInterpolationDelimiter = { link = "CozyboxAqua" },
purescriptModuleKeyword = { link = "CozyboxAqua" },
purescriptModuleName = { link = "CozyboxFg1" },
purescriptWhere = { link = "CozyboxAqua" },
purescriptDelimiter = { link = "CozyboxFg4" },
purescriptType = { link = "CozyboxFg1" },
purescriptImportKeyword = { link = "CozyboxAqua" },
purescriptHidingKeyword = { link = "CozyboxAqua" },
purescriptAsKeyword = { link = "CozyboxAqua" },
purescriptStructure = { link = "CozyboxAqua" },
purescriptOperator = { link = "CozyboxBlue" },
purescriptTypeVar = { link = "CozyboxFg1" },
purescriptConstructor = { link = "CozyboxFg1" },
purescriptFunction = { link = "CozyboxFg1" },
purescriptConditional = { link = "CozyboxOrange" },
purescriptBacktick = { link = "CozyboxOrange" },
coffeeExtendedOp = { link = "CozyboxFg3" },
coffeeSpecialOp = { link = "CozyboxFg3" },
coffeeCurly = { link = "CozyboxOrange" },
coffeeParen = { link = "CozyboxFg3" },
coffeeBracket = { link = "CozyboxOrange" },
rubyStringDelimiter = { link = "CozyboxGreen" },
rubyInterpolationDelimiter = { link = "CozyboxAqua" },
rubyDefinedOperator = { link = "rubyKeyword" },
objcTypeModifier = { link = "CozyboxRed" },
objcDirective = { link = "CozyboxBlue" },
goDirective = { link = "CozyboxAqua" },
goConstants = { link = "CozyboxPurple" },
goDeclaration = { link = "CozyboxRed" },
goDeclType = { link = "CozyboxBlue" },
goBuiltins = { link = "CozyboxOrange" },
luaIn = { link = "CozyboxRed" },
luaFunction = { link = "CozyboxAqua" },
luaTable = { link = "CozyboxOrange" },
moonSpecialOp = { link = "CozyboxFg3" },
moonExtendedOp = { link = "CozyboxFg3" },
moonFunction = { link = "CozyboxFg3" },
moonObject = { link = "CozyboxYellow" },
javaAnnotation = { link = "CozyboxBlue" },
javaDocTags = { link = "CozyboxAqua" },
javaCommentTitle = { link = "vimCommentTitle" },
javaParen = { link = "CozyboxFg3" },
javaParen1 = { link = "CozyboxFg3" },
javaParen2 = { link = "CozyboxFg3" },
javaParen3 = { link = "CozyboxFg3" },
javaParen4 = { link = "CozyboxFg3" },
javaParen5 = { link = "CozyboxFg3" },
javaOperator = { link = "CozyboxOrange" },
javaVarArg = { link = "CozyboxGreen" },
elixirDocString = { link = "Comment" },
elixirStringDelimiter = { link = "CozyboxGreen" },
elixirInterpolationDelimiter = { link = "CozyboxAqua" },
elixirModuleDeclaration = { link = "CozyboxYellow" },
scalaNameDefinition = { link = "CozyboxFg1" },
scalaCaseFollowing = { link = "CozyboxFg1" },
scalaCapitalWord = { link = "CozyboxFg1" },
scalaTypeExtension = { link = "CozyboxFg1" },
scalaKeyword = { link = "CozyboxRed" },
scalaKeywordModifier = { link = "CozyboxRed" },
scalaSpecial = { link = "CozyboxAqua" },
scalaOperator = { link = "CozyboxFg1" },
scalaTypeDeclaration = { link = "CozyboxYellow" },
scalaTypeTypePostDeclaration = { link = "CozyboxYellow" },
scalaInstanceDeclaration = { link = "CozyboxFg1" },
scalaInterpolation = { link = "CozyboxAqua" },
markdownItalic = { fg = colors.fg3, italic = true },
markdownBold = { fg = colors.fg3, bold = config.bold },
markdownBoldItalic = { fg = colors.fg3, bold = config.bold, italic = true },
markdownH1 = { link = "CozyboxGreenBold" },
markdownH2 = { link = "CozyboxGreenBold" },
markdownH3 = { link = "CozyboxYellowBold" },
markdownH4 = { link = "CozyboxYellowBold" },
markdownH5 = { link = "CozyboxYellow" },
markdownH6 = { link = "CozyboxYellow" },
markdownCode = { link = "CozyboxAqua" },
markdownCodeBlock = { link = "CozyboxAqua" },
markdownCodeDelimiter = { link = "CozyboxAqua" },
markdownBlockquote = { link = "CozyboxGray" },
markdownListMarker = { link = "CozyboxGray" },
markdownOrderedListMarker = { link = "CozyboxGray" },
markdownRule = { link = "CozyboxGray" },
markdownHeadingRule = { link = "CozyboxGray" },
markdownUrlDelimiter = { link = "CozyboxFg3" },
markdownLinkDelimiter = { link = "CozyboxFg3" },
markdownLinkTextDelimiter = { link = "CozyboxFg3" },
markdownHeadingDelimiter = { link = "CozyboxOrange" },
markdownUrl = { link = "CozyboxPurple" },
markdownUrlTitleDelimiter = { link = "CozyboxGreen" },
markdownLinkText = { fg = colors.gray, underline = config.underline },
markdownIdDeclaration = { link = "markdownLinkText" },
haskellType = { link = "CozyboxBlue" },
haskellIdentifier = { link = "CozyboxAqua" },
haskellSeparator = { link = "CozyboxFg4" },
haskellDelimiter = { link = "CozyboxOrange" },
haskellOperators = { link = "CozyboxPurple" },
haskellBacktick = { link = "CozyboxOrange" },
haskellStatement = { link = "CozyboxPurple" },
haskellConditional = { link = "CozyboxPurple" },
haskellLet = { link = "CozyboxRed" },
haskellDefault = { link = "CozyboxRed" },
haskellWhere = { link = "CozyboxRed" },
haskellBottom = { link = "CozyboxRedBold" },
haskellImportKeywords = { link = "CozyboxPurpleBold" },
haskellDeclKeyword = { link = "CozyboxOrange" },
haskellDecl = { link = "CozyboxOrange" },
haskellDeriving = { link = "CozyboxPurple" },
haskellAssocType = { link = "CozyboxAqua" },
haskellNumber = { link = "CozyboxAqua" },
haskellPragma = { link = "CozyboxRedBold" },
haskellTH = { link = "CozyboxAquaBold" },
haskellForeignKeywords = { link = "CozyboxGreen" },
haskellKeyword = { link = "CozyboxRed" },
haskellFloat = { link = "CozyboxAqua" },
haskellInfix = { link = "CozyboxPurple" },
haskellQuote = { link = "CozyboxGreenBold" },
haskellShebang = { link = "CozyboxYellowBold" },
haskellLiquid = { link = "CozyboxPurpleBold" },
haskellQuasiQuoted = { link = "CozyboxBlueBold" },
haskellRecursiveDo = { link = "CozyboxPurple" },
haskellQuotedType = { link = "CozyboxRed" },
haskellPreProc = { link = "CozyboxFg4" },
haskellTypeRoles = { link = "CozyboxRedBold" },
haskellTypeForall = { link = "CozyboxRed" },
haskellPatternKeyword = { link = "CozyboxBlue" },
jsonKeyword = { link = "CozyboxGreen" },
jsonQuote = { link = "CozyboxGreen" },
jsonBraces = { link = "CozyboxFg1" },
jsonString = { link = "CozyboxFg1" },
mailQuoted1 = { link = "CozyboxAqua" },
mailQuoted2 = { link = "CozyboxPurple" },
mailQuoted3 = { link = "CozyboxYellow" },
mailQuoted4 = { link = "CozyboxGreen" },
mailQuoted5 = { link = "CozyboxRed" },
mailQuoted6 = { link = "CozyboxOrange" },
mailSignature = { link = "Comment" },
csBraces = { link = "CozyboxFg1" },
csEndColon = { link = "CozyboxFg1" },
csLogicSymbols = { link = "CozyboxFg1" },
csParens = { link = "CozyboxFg3" },
csOpSymbols = { link = "CozyboxFg3" },
csInterpolationDelimiter = { link = "CozyboxFg3" },
csInterpolationAlignDel = { link = "CozyboxAquaBold" },
csInterpolationFormat = { link = "CozyboxAqua" },
csInterpolationFormatDel = { link = "CozyboxAquaBold" },
rustSigil = { link = "CozyboxOrange" },
rustEscape = { link = "CozyboxAqua" },
rustStringContinuation = { link = "CozyboxAqua" },
rustEnum = { link = "CozyboxAqua" },
rustStructure = { link = "CozyboxAqua" },
rustModPathSep = { link = "CozyboxFg2" },
rustCommentLineDoc = { link = "Comment" },
rustDefault = { link = "CozyboxAqua" },
ocamlOperator = { link = "CozyboxFg1" },
ocamlKeyChar = { link = "CozyboxOrange" },
ocamlArrow = { link = "CozyboxOrange" },
ocamlInfixOpKeyword = { link = "CozyboxRed" },
ocamlConstructor = { link = "CozyboxOrange" },
LspSagaCodeActionTitle = { link = "Title" },
LspSagaCodeActionBorder = { link = "CozyboxFg1" },
LspSagaCodeActionContent = { fg = colors.green, bold = config.bold },
LspSagaLspFinderBorder = { link = "CozyboxFg1" },
LspSagaAutoPreview = { link = "CozyboxOrange" },
TargetWord = { fg = colors.blue, bold = config.bold },
FinderSeparator = { link = "CozyboxAqua" },
LspSagaDefPreviewBorder = { link = "CozyboxBlue" },
LspSagaHoverBorder = { link = "CozyboxOrange" },
LspSagaRenameBorder = { link = "CozyboxBlue" },
LspSagaDiagnosticSource = { link = "CozyboxOrange" },
LspSagaDiagnosticBorder = { link = "CozyboxPurple" },
LspSagaDiagnosticHeader = { link = "CozyboxGreen" },
LspSagaSignatureHelpBorder = { link = "CozyboxGreen" },
SagaShadow = { link = "CozyboxBg0" },
DashboardShortCut = { link = "CozyboxOrange" },
DashboardHeader = { link = "CozyboxAqua" },
DashboardCenter = { link = "CozyboxYellow" },
DashboardFooter = { fg = colors.purple, italic = true },
MasonHighlight = { link = "CozyboxAqua" },
MasonHighlightBlock = { fg = colors.bg0, bg = colors.blue },
MasonHighlightBlockBold = { fg = colors.bg0, bg = colors.blue, bold = true },
MasonHighlightSecondary = { fg = colors.yellow },
MasonHighlightBlockSecondary = { fg = colors.bg0, bg = colors.yellow },
MasonHighlightBlockBoldSecondary = { fg = colors.bg0, bg = colors.yellow, bold = true },
MasonHeader = { link = "MasonHighlightBlockBoldSecondary" },
MasonHeaderSecondary = { link = "MasonHighlightBlockBold" },
MasonMuted = { fg = colors.fg4 },
MasonMutedBlock = { fg = colors.bg0, bg = colors.fg4 },
MasonMutedBlockBold = { fg = colors.bg0, bg = colors.fg4, bold = true },
LspInlayHint = { link = "comment" },
CarbonFile = { link = "CozyboxFg1" },
CarbonExe = { link = "CozyboxYellow" },
CarbonSymlink = { link = "CozyboxAqua" },
CarbonBrokenSymlink = { link = "CozyboxRed" },
CarbonIndicator = { link = "CozyboxGray" },
CarbonDanger = { link = "CozyboxRed" },
CarbonPending = { link = "CozyboxYellow" },
NoiceCursor = { link = "TermCursor" },
NoiceCmdlinePopupBorder = { fg = colors.blue, bg = nil },
NoiceCmdlineIcon = { link = "NoiceCmdlinePopupBorder" },
NoiceConfirmBorder = { link = "NoiceCmdlinePopupBorder" },
NoiceCmdlinePopupBorderSearch = { fg = colors.yellow, bg = nil },
NoiceCmdlineIconSearch = { link = "NoiceCmdlinePopupBorderSearch" },
NotifyDEBUGBorder = { link = "CozyboxBlue" },
NotifyDEBUGIcon = { link = "CozyboxBlue" },
NotifyDEBUGTitle = { link = "CozyboxBlue" },
NotifyERRORBorder = { link = "CozyboxRed" },
NotifyERRORIcon = { link = "CozyboxRed" },
NotifyERRORTitle = { link = "CozyboxRed" },
NotifyINFOBorder = { link = "CozyboxAqua" },
NotifyINFOIcon = { link = "CozyboxAqua" },
NotifyINFOTitle = { link = "CozyboxAqua" },
NotifyTRACEBorder = { link = "CozyboxGreen" },
NotifyTRACEIcon = { link = "CozyboxGreen" },
NotifyTRACETitle = { link = "CozyboxGreen" },
NotifyWARNBorder = { link = "CozyboxYellow" },
NotifyWARNIcon = { link = "CozyboxYellow" },
NotifyWARNTitle = { link = "CozyboxYellow" },
IlluminatedWordText = { link = "LspReferenceText" },
IlluminatedWordRead = { link = "LspReferenceRead" },
IlluminatedWordWrite = { link = "LspReferenceWrite" },
TSRainbowRed = { fg = colors.red },
TSRainbowOrange = { fg = colors.orange },
TSRainbowYellow = { fg = colors.yellow },
TSRainbowGreen = { fg = colors.green },
TSRainbowBlue = { fg = colors.blue },
TSRainbowViolet = { fg = colors.purple },
TSRainbowCyan = { fg = colors.aqua },
RainbowDelimiterRed = { fg = colors.red },
RainbowDelimiterOrange = { fg = colors.orange },
RainbowDelimiterYellow = { fg = colors.yellow },
RainbowDelimiterGreen = { fg = colors.green },
RainbowDelimiterBlue = { fg = colors.blue },
RainbowDelimiterViolet = { fg = colors.purple },
RainbowDelimiterCyan = { fg = colors.aqua },
DapBreakpointSymbol = { fg = colors.red, bg = colors.bg1 },
DapStoppedSymbol = { fg = colors.green, bg = colors.bg1 },
DapUIBreakpointsCurrentLine = { link = "CozyboxYellow" },
DapUIBreakpointsDisabledLine = { link = "CozyboxGray" },
DapUIBreakpointsInfo = { link = "CozyboxAqua" },
DapUIBreakpointsLine = { link = "CozyboxYellow" },
DapUIBreakpointsPath = { link = "CozyboxBlue" },
DapUICurrentFrameName = { link = "CozyboxPurple" },
DapUIDecoration = { link = "CozyboxPurple" },
DapUIEndofBuffer = { link = "EndOfBuffer" },
DapUIFloatBorder = { link = "CozyboxAqua" },
DapUILineNumber = { link = "CozyboxYellow" },
DapUIModifiedValue = { link = "CozyboxRed" },
DapUIPlayPause = { fg = colors.green, bg = colors.bg1 },
DapUIRestart = { fg = colors.green, bg = colors.bg1 },
DapUIScope = { link = "CozyboxBlue" },
DapUISource = { link = "CozyboxFg1" },
DapUIStepBack = { fg = colors.blue, bg = colors.bg1 },
DapUIStepInto = { fg = colors.blue, bg = colors.bg1 },
DapUIStepOut = { fg = colors.blue, bg = colors.bg1 },
DapUIStepOver = { fg = colors.blue, bg = colors.bg1 },
DapUIStop = { fg = colors.red, bg = colors.bg1 },
DapUIStoppedThread = { link = "CozyboxBlue" },
DapUIThread = { link = "CozyboxBlue" },
DapUIType = { link = "CozyboxOrange" },
DapUIUnavailable = { link = "CozyboxGray" },
DapUIWatchesEmpty = { link = "CozyboxGray" },
DapUIWatchesError = { link = "CozyboxRed" },
DapUIWatchesValue = { link = "CozyboxYellow" },
DapUIWinSelect = { link = "CozyboxYellow" },
NeogitDiffDelete = { link = "DiffDelete" },
NeogitDiffAdd = { link = "DiffAdd" },
NeogitHunkHeader = { link = "WinBar" },
NeogitHunkHeaderHighlight = { link = "WinBarNC" },
DiffviewStatusModified = { link = "CozyboxGreenBold" },
DiffviewFilePanelInsertions = { link = "CozyboxGreenBold" },
DiffviewFilePanelDeletions = { link = "CozyboxRedBold" },
MiniAnimateCursor = { reverse = true, nocombine = true },
MiniAnimateNormalFloat = { fg = colors.fg1, bg = colors.bg1 },
MiniClueBorder = { link = "FloatBorder" },
MiniClueDescGroup = { link = "DiagnosticFloatingWarn" },
MiniClueDescSingle = { link = "NormalFloat" },
MiniClueNextKey = { link = "DiagnosticFloatingHint" },
MiniClueNextKeyWithPostkeys = { link = "DiagnosticFloatingError" },
MiniClueSeparator = { link = "DiagnosticFloatingInfo" },
MiniClueTitle = { link = "FloatTitle" },
MiniCompletionActiveParameter = { underline = true },
MiniCursorword = { underline = true },
MiniCursorwordCurrent = { underline = true },
MiniDepsChangeAdded = { link = "CozyboxGreen" },
MiniDepsChangeRemoved = { link = "CozyboxRed" },
MiniDepsHint = { link = "DiagnosticHint" },
MiniDepsInfo = { link = "DiagnosticInfo" },
MiniDepsMsgBreaking = { link = "DiagnosticWarn" },
MiniDepsPlaceholder = { link = "Comment" },
MiniDepsTitle = { link = "Title" },
MiniDepsTitleError = { link = "DiffDelete" },
MiniDepsTitleSame = { link = "DiffChange" },
MiniDepsTitleUpdate = { link = "DiffAdd" },
MiniDiffOverAdd = { link = "DiffAdd" },
MiniDiffOverChange = { link = "DiffText" },
MiniDiffOverContext = { link = "DiffChange" },
MiniDiffOverDelete = { link = "DiffDelete" },
MiniDiffSignAdd = { link = "CozyboxGreen" },
MiniDiffSignChange = { link = "CozyboxAqua" },
MiniDiffSignDelete = { link = "CozyboxRed" },
MiniFilesBorder = { link = "FloatBorder" },
MiniFilesBorderModified = { link = "DiagnosticFloatingWarn" },
MiniFilesCursorLine = { bg = colors.bg2 },
MiniFilesDirectory = { link = "Directory" },
MiniFilesFile = { link = "CozyboxFg1" },
MiniFilesNormal = { link = "NormalFloat" },
MiniFilesTitle = { link = "FloatTitle" },
MiniFilesTitleFocused = { link = "CozyboxOrangeBold" },
MiniHipatternsFixme = { fg = colors.bg0, bg = colors.red, bold = config.bold },
MiniHipatternsHack = { fg = colors.bg0, bg = colors.yellow, bold = config.bold },
MiniHipatternsNote = { fg = colors.bg0, bg = colors.blue, bold = config.bold },
MiniHipatternsTodo = { fg = colors.bg0, bg = colors.aqua, bold = config.bold },
MiniIconsAzure = { link = "CozyboxBlue" },
MiniIconsBlue = { link = "CozyboxBlue" },
MiniIconsCyan = { link = "CozyboxAqua" },
MiniIconsGreen = { link = "CozyboxGreen" },
MiniIconsGrey = { link = "CozyboxFg0" },
MiniIconsOrange = { link = "CozyboxOrange" },
MiniIconsPurple = { link = "CozyboxPurple" },
MiniIconsRed = { link = "CozyboxRed" },
MiniIconsYellow = { link = "CozyboxYellow" },
MiniIndentscopeSymbol = { link = "CozyboxGray" },
MiniIndentscopeSymbolOff = { link = "CozyboxYellow" },
MiniJump = { link = "CozyboxOrangeUnderline" },
MiniJump2dDim = { link = "CozyboxGray" },
MiniJump2dSpot = { fg = colors.orange, bold = config.bold, nocombine = true },
MiniJump2dSpotAhead = { fg = colors.aqua, bg = colors.bg0, nocombine = true },
MiniJump2dSpotUnique = { fg = colors.yellow, bold = config.bold, nocombine = true },
MiniMapNormal = { link = "NormalFloat" },
MiniMapSymbolCount = { link = "Special" },
MiniMapSymbolLine = { link = "Title" },
MiniMapSymbolView = { link = "Delimiter" },
MiniNotifyBorder = { link = "FloatBorder" },
MiniNotifyNormal = { link = "NormalFloat" },
MiniNotifyTitle = { link = "FloatTitle" },
MiniOperatorsExchangeFrom = { link = "IncSearch" },
MiniPickBorder = { link = "FloatBorder" },
MiniPickBorderBusy = { link = "DiagnosticFloatingWarn" },
MiniPickBorderText = { link = "FloatTitle" },
MiniPickIconDirectory = { link = "Directory" },
MiniPickIconFile = { link = "MiniPickNormal" },
MiniPickHeader = { link = "DiagnosticFloatingHint" },
MiniPickMatchCurrent = { bg = colors.bg2 },
MiniPickMatchMarked = { link = "Visual" },
MiniPickMatchRanges = { link = "DiagnosticFloatingHint" },
MiniPickNormal = { link = "NormalFloat" },
MiniPickPreviewLine = { link = "CursorLine" },
MiniPickPreviewRegion = { link = "IncSearch" },
MiniPickPrompt = { link = "DiagnosticFloatingInfo" },
MiniStarterCurrent = { nocombine = true },
MiniStarterFooter = { link = "CozyboxGray" },
MiniStarterHeader = { link = "Title" },
MiniStarterInactive = { link = "Comment" },
MiniStarterItem = { link = "Normal" },
MiniStarterItemBullet = { link = "Delimiter" },
MiniStarterItemPrefix = { link = "WarningMsg" },
MiniStarterSection = { link = "Delimiter" },
MiniStarterQuery = { link = "MoreMsg" },
MiniStatuslineDevinfo = { link = "StatusLine" },
MiniStatuslineFileinfo = { link = "StatusLine" },
MiniStatuslineFilename = { link = "StatusLineNC" },
MiniStatuslineInactive = { link = "StatusLineNC" },
MiniStatuslineModeCommand = { fg = colors.bg0, bg = colors.yellow, bold = config.bold, nocombine = true },
MiniStatuslineModeInsert = { fg = colors.bg0, bg = colors.blue, bold = config.bold, nocombine = true },
MiniStatuslineModeNormal = { fg = colors.bg0, bg = colors.fg1, bold = config.bold, nocombine = true },
MiniStatuslineModeOther = { fg = colors.bg0, bg = colors.aqua, bold = config.bold, nocombine = true },
MiniStatuslineModeReplace = { fg = colors.bg0, bg = colors.red, bold = config.bold, nocombine = true },
MiniStatuslineModeVisual = { fg = colors.bg0, bg = colors.green, bold = config.bold, nocombine = true },
MiniSurround = { link = "IncSearch" },
MiniTablineCurrent = { fg = colors.green, bg = colors.bg1, bold = config.bold, reverse = config.invert_tabline },
MiniTablineFill = { link = "TabLineFill" },
MiniTablineHidden = { fg = colors.bg4, bg = colors.bg1, reverse = config.invert_tabline },
MiniTablineModifiedCurrent = {
fg = colors.bg1,
bg = colors.green,
bold = config.bold,
reverse = config.invert_tabline,
},
MiniTablineModifiedHidden = { fg = colors.bg1, bg = colors.bg4, reverse = config.invert_tabline },
MiniTablineModifiedVisible = { fg = colors.bg1, bg = colors.fg1, reverse = config.invert_tabline },
MiniTablineTabpagesection = { link = "Search" },
MiniTablineVisible = { fg = colors.fg1, bg = colors.bg1, reverse = config.invert_tabline },
MiniTestEmphasis = { bold = config.bold },
MiniTestFail = { link = "CozyboxRedBold" },
MiniTestPass = { link = "CozyboxGreenBold" },
MiniTrailspace = { bg = colors.red },
WhichKeyTitle = { link = "NormalFloat" },
NeoTreeFloatBorder = { link = "CozyboxGray" },
NeoTreeTitleBar = { fg = colors.fg1, bg = colors.bg2 },
NeoTreeDirectoryIcon = { link = "CozyboxGreen" },
NeoTreeDirectoryName = { link = "CozyboxGreenBold" },
["@comment"] = { link = "Comment" },
["@none"] = { bg = "NONE", fg = "NONE" },
["@preproc"] = { link = "PreProc" },
["@define"] = { link = "Define" },
["@operator"] = { link = "Operator" },
["@punctuation.delimiter"] = { link = "Delimiter" },
["@punctuation.bracket"] = { link = "Delimiter" },
["@punctuation.special"] = { link = "Delimiter" },
["@string"] = { link = "String" },
["@string.regex"] = { link = "String" },
["@string.regexp"] = { link = "String" },
["@string.escape"] = { link = "SpecialChar" },
["@string.special"] = { link = "SpecialChar" },
["@string.special.path"] = { link = "Underlined" },
["@string.special.symbol"] = { link = "Identifier" },
["@string.special.url"] = { link = "Underlined" },
["@character"] = { link = "Character" },
["@character.special"] = { link = "SpecialChar" },
["@boolean"] = { link = "Boolean" },
["@number"] = { link = "Number" },
["@number.float"] = { link = "Float" },
["@float"] = { link = "Float" },
["@function"] = { link = "Function" },
["@function.builtin"] = { link = "Special" },
["@function.call"] = { link = "Function" },
["@function.macro"] = { link = "Macro" },
["@function.method"] = { link = "Function" },
["@method"] = { link = "Function" },
["@method.call"] = { link = "Function" },
["@constructor"] = { link = "Special" },
["@parameter"] = { link = "CozyboxGreen" },
["@keyword"] = { link = "Keyword" },
["@keyword.conditional"] = { link = "Conditional" },
["@keyword.debug"] = { link = "Debug" },
["@keyword.directive"] = { link = "PreProc" },
["@keyword.directive.define"] = { link = "Define" },
["@keyword.exception"] = { link = "Exception" },
["@keyword.function"] = { link = "Keyword" },
["@keyword.import"] = { link = "Include" },
["@keyword.operator"] = { link = "CozyboxRed" },
["@keyword.repeat"] = { link = "Repeat" },
["@keyword.return"] = { link = "Keyword" },
["@keyword.storage"] = { link = "StorageClass" },
["@conditional"] = { link = "Conditional" },
["@repeat"] = { link = "Repeat" },
["@debug"] = { link = "Debug" },
["@label"] = { link = "Label" },
["@include"] = { link = "Include" },
["@exception"] = { link = "Exception" },
["@type"] = { link = "Type" },
["@type.builtin"] = { link = "Type" },
["@type.definition"] = { link = "Typedef" },
["@type.qualifier"] = { link = "Type" },
["@storageclass"] = { link = "StorageClass" },
["@attribute"] = { link = "PreProc" },
["@field"] = { link = "Identifier" },
["@property"] = { link = "CozyboxGreen" },
["@variable"] = { link = "CozyboxFg1" },
["@variable.builtin"] = { link = "Special" },
["@variable.member"] = { link = "Identifier" },
["@variable.parameter"] = { link = "CozyboxGreen" },
["@constant"] = { link = "Constant" },
["@constant.builtin"] = { link = "Special" },
["@constant.macro"] = { link = "Define" },
["@markup"] = { link = "CozyboxFg1" },
["@markup.strong"] = { bold = config.bold },
["@markup.italic"] = { link = "@text.emphasis" },
["@markup.underline"] = { underline = config.underline },
["@markup.strikethrough"] = { strikethrough = config.strikethrough },
["@markup.heading"] = { link = "Title" },
["@markup.raw"] = { link = "String" },
["@markup.math"] = { link = "Special" },
["@markup.environment"] = { link = "Macro" },
["@markup.environment.name"] = { link = "Type" },
["@markup.link"] = { link = "Underlined" },
["@markup.link.label"] = { link = "SpecialChar" },
["@markup.list"] = { link = "Delimiter" },
["@markup.list.checked"] = { link = "CozyboxGreen" },
["@markup.list.unchecked"] = { link = "CozyboxGray" },
["@comment.todo"] = { link = "Todo" },
["@comment.note"] = { link = "SpecialComment" },
["@comment.warning"] = { link = "WarningMsg" },
["@comment.error"] = { link = "ErrorMsg" },
["@diff.plus"] = { link = "diffAdded" },
["@diff.minus"] = { link = "diffRemoved" },
["@diff.delta"] = { link = "diffChanged" },
["@module"] = { link = "CozyboxFg1" },
["@namespace"] = { link = "CozyboxFg1" },
["@symbol"] = { link = "Identifier" },
["@text"] = { link = "CozyboxFg1" },
["@text.strong"] = { bold = config.bold },
["@text.emphasis"] = { italic = config.italic.emphasis },
["@text.underline"] = { underline = config.underline },
["@text.strike"] = { strikethrough = config.strikethrough },
["@text.title"] = { link = "Title" },
["@text.literal"] = { link = "String" },
["@text.uri"] = { link = "Underlined" },
["@text.math"] = { link = "Special" },
["@text.environment"] = { link = "Macro" },
["@text.environment.name"] = { link = "Type" },
["@text.reference"] = { link = "Constant" },
["@text.todo"] = { link = "Todo" },
["@text.todo.checked"] = { link = "CozyboxGreen" },
["@text.todo.unchecked"] = { link = "CozyboxGray" },
["@text.note"] = { link = "SpecialComment" },
["@text.note.comment"] = { fg = colors.purple, bold = config.bold },
["@text.warning"] = { link = "WarningMsg" },
["@text.danger"] = { link = "ErrorMsg" },
["@text.danger.comment"] = { fg = colors.fg0, bg = colors.red, bold = config.bold },
["@text.diff.add"] = { link = "diffAdded" },
["@text.diff.delete"] = { link = "diffRemoved" },
["@tag"] = { link = "Tag" },
["@tag.attribute"] = { link = "Identifier" },
["@tag.delimiter"] = { link = "Delimiter" },
["@punctuation"] = { link = "Delimiter" },
["@macro"] = { link = "Macro" },
["@structure"] = { link = "Structure" },
["@lsp.type.class"] = { link = "@type" },
["@lsp.type.comment"] = { link = "@comment" },
["@lsp.type.decorator"] = { link = "@macro" },
["@lsp.type.enum"] = { link = "@type" },
["@lsp.type.enumMember"] = { link = "@constant" },
["@lsp.type.function"] = { link = "@function" },
["@lsp.type.interface"] = { link = "@constructor" },
["@lsp.type.macro"] = { link = "@macro" },
["@lsp.type.method"] = { link = "@method" },
["@lsp.type.modifier.java"] = { link = "@keyword.type.java" },
["@lsp.type.namespace"] = { link = "@namespace" },
["@lsp.type.parameter"] = { link = "@parameter" },
["@lsp.type.parameter.typescript"] = { link = "@parameter" },
["@lsp.type.property"] = { link = "@property" },
["@lsp.type.property.lua"] = { link = "@property" },
["@lsp.type.struct"] = { link = "@type" },
["@lsp.type.type"] = { link = "@type" },
["@lsp.type.typeParameter"] = { link = "@type.definition" },
["@lsp.type.variable"] = { link = "@variable" },
-- NeoTreeDirectoryName = { link = "Directory" },
-- NeoTreeDotfile = { fg = colors.fg4 },
-- NeoTreeFadeText1 = { fg = colors.fg3 },
-- NeoTreeFadeText2 = { fg = colors.fg4 },
-- NeoTreeFileIcon = { fg = colors.blue },
-- NeoTreeFileName = { fg = colors.fg1 },
-- NeoTreeFileNameOpened = { fg = colors.fg1, bold = true },
-- NeoTreeFileStats = { fg = colors.fg3 },
-- NeoTreeFileStatsHeader = { fg = colors.fg2, italic = true },
-- NeoTreeFilterTerm = { link = "SpecialChar" },
-- NeoTreeHiddenByName = { link = "NeoTreeDotfile" },
-- NeoTreeIndentMarker = { fg = colors.fg4 },
-- NeoTreeMessage = { fg = colors.fg3, italic = true },
-- NeoTreeModified = { fg = colors.yellow },
-- NeoTreeRootName = { fg = colors.fg1, bold = true, italic = true },
-- NeoTreeSymbolicLinkTarget = { link = "NeoTreeFileName" },
-- NeoTreeExpander = { fg = colors.fg4 },
-- NeoTreeWindowsHidden = { link = "NeoTreeDotfile" },
-- NeoTreePreview = { link = "Search" },
-- NeoTreeGitAdded = { link = "GitGutterAdd" },
-- NeoTreeGitConflict = { fg = colors.orange, bold = true, italic = true },
-- NeoTreeGitDeleted = { link = "GitGutterDelete" },
-- NeoTreeGitIgnored = { link = "NeoTreeDotfile" },
-- NeoTreeGitModified = { link = "GitGutterChange" },
-- NeoTreeGitRenamed = { link = "NeoTreeGitModified" },
-- NeoTreeGitStaged = { link = "NeoTreeGitAdded" },
-- NeoTreeGitUntracked = { fg = colors.orange, italic = true },
-- NeoTreeGitUnstaged = { link = "NeoTreeGitConflict" },
-- NeoTreeTabActive = { fg = colors.fg1, bold = true },
-- NeoTreeTabInactive = { fg = colors.fg4, bg = colors.bg1 },
-- NeoTreeTabSeparatorActive = { fg = colors.bg1 },
-- NeoTreeTabSeparatorInactive = { fg = colors.bg2, bg = colors.bg1 },
}
for group, hl in pairs(config.overrides) do
if groups[group] then
-- "link" should not mix with other configs (:h hi-link)
groups[group].link = nil
end
groups[group] = vim.tbl_extend("force", groups[group] or {}, hl)
end
return groups
end
---@param config CozyboxConfig?
Cozybox.setup = function(config)
Cozybox.config = vim.deepcopy(default_config)
Cozybox.config = vim.tbl_deep_extend("force", Cozybox.config, config or {})
end
---@param colors_name string?
--- main load function
Cozybox.load = function(colors_name)
if vim.version().minor < 8 then
vim.notify_once("cozybox.nvim: you must use neovim 0.8 or higher")
return
end
-- reset colors
if vim.g.colors_name then
vim.cmd.hi("clear")
end
vim.g.colors_name = colors_name or "cozybox"
vim.o.termguicolors = true
local groups = get_groups()
-- add highlights
for group, settings in pairs(groups) do
vim.api.nvim_set_hl(0, group, settings)
end
end
return Cozybox