aboutsummaryrefslogtreecommitdiff
path: root/lua/prismite/groups
diff options
context:
space:
mode:
authordelta <darkussdelta@gmail.com>2025-09-13 19:55:00 +0200
committerdelta <darkussdelta@gmail.com>2025-09-13 19:55:00 +0200
commit031bf426ca73146d9253548e77f90ec112ebcedb (patch)
treeb3dcd2de915ba1c31ad7bec2e30fc44df9226251 /lua/prismite/groups
initial commit
Diffstat (limited to 'lua/prismite/groups')
-rw-r--r--lua/prismite/groups/colors.lua20
-rw-r--r--lua/prismite/groups/diagnostics.lua22
-rw-r--r--lua/prismite/groups/init.lua7
-rw-r--r--lua/prismite/groups/kinds.lua44
-rw-r--r--lua/prismite/groups/plugins/blink.lua10
-rw-r--r--lua/prismite/groups/plugins/indentmini.lua5
-rw-r--r--lua/prismite/groups/plugins/init.lua11
-rw-r--r--lua/prismite/groups/plugins/marks.lua6
-rw-r--r--lua/prismite/groups/plugins/noice.lua33
-rw-r--r--lua/prismite/groups/plugins/nvim-tree.lua7
-rw-r--r--lua/prismite/groups/plugins/treesitter.lua164
-rw-r--r--lua/prismite/groups/plugins/trouble.lua13
-rw-r--r--lua/prismite/groups/syntax.lua92
-rw-r--r--lua/prismite/groups/ui.lua74
14 files changed, 508 insertions, 0 deletions
diff --git a/lua/prismite/groups/colors.lua b/lua/prismite/groups/colors.lua
new file mode 100644
index 0000000..0502baf
--- /dev/null
+++ b/lua/prismite/groups/colors.lua
@@ -0,0 +1,20 @@
+local colors = require "prismite.palette"
+
+return {
+ PrismiteRed = { fg = colors.red },
+ PrismiteRedBright = { fg = colors.red_bright },
+ PrismiteOrange = { fg = colors.orange },
+ PrismiteOrangeBright = { fg = colors.orange },
+ PrismiteYellow = { fg = colors.yellow },
+ PrismiteYellowBright = { fg = colors.yellow_bright },
+ PrismiteGreen = { fg = colors.green },
+ PrismiteGreenBright = { fg = colors.green_bright },
+ PrismiteCyan = { fg = colors.cyan },
+ PrismiteCyanBright = { fg = colors.cyan_bright },
+ PrismiteBlue = { fg = colors.blue },
+ PrismiteBlueBright = { fg = colors.blue_bright },
+ PrismitePurple = { fg = colors.purple },
+ PrismitePuprleBright = { fg = colors.purple_bright },
+ PrismitePink = { fg = colors.pink },
+ PrismitePinkBright = { fg = colors.pink_bright },
+}
diff --git a/lua/prismite/groups/diagnostics.lua b/lua/prismite/groups/diagnostics.lua
new file mode 100644
index 0000000..11e1de9
--- /dev/null
+++ b/lua/prismite/groups/diagnostics.lua
@@ -0,0 +1,22 @@
+local colors = require "prismite.palette"
+local utils = require "prismite.utils"
+
+local opacity = 0.1
+
+return {
+ DiagnosticError = { fg = colors.red },
+ DiagnosticUnderlineError = { sp = colors.red, undercurl = true },
+ DiagnosticVirtualTextError = { bg = utils.overlay_oklch(colors.red, colors.bg, opacity), fg = colors.red },
+ DiagnosticWarn = { fg = colors.orange },
+ DiagnosticUnderlineWarn = { sp = colors.orange, undercurl = true },
+ DiagnosticVirtualTextWarn = { bg = utils.overlay_oklch(colors.orange, colors.bg, opacity), fg = colors.orange },
+ DiagnosticInfo = { fg = colors.blue },
+ DiagnosticUnderlineInfo = { sp = colors.blue, underline = true },
+ DiagnosticVirtualTextInfo = { bg = utils.overlay_oklch(colors.blue, colors.bg, opacity), fg = colors.blue },
+ DiagnosticHint = { fg = colors.purple },
+ DiagnosticUnderlineHint = { sp = colors.purple, underline = true },
+ DiagnosticVirtualTextHint = { bg = utils.overlay_oklch(colors.purple, colors.bg, opacity), fg = colors.purple },
+ DiagnosticOk = { fg = colors.green },
+ DiagnosticUnderlineOk = { sp = colors.green, underline = true },
+ DiagnosticVirtualTextOk = { bg = utils.overlay_oklch(colors.green, colors.bg, opacity), fg = colors.green },
+}
diff --git a/lua/prismite/groups/init.lua b/lua/prismite/groups/init.lua
new file mode 100644
index 0000000..c203ebe
--- /dev/null
+++ b/lua/prismite/groups/init.lua
@@ -0,0 +1,7 @@
+return {
+ require "prismite.groups.syntax",
+ require "prismite.groups.ui",
+ require "prismite.groups.plugins",
+ require "prismite.groups.diagnostics",
+ require "prismite.groups.colors",
+}
diff --git a/lua/prismite/groups/kinds.lua b/lua/prismite/groups/kinds.lua
new file mode 100644
index 0000000..69a25c2
--- /dev/null
+++ b/lua/prismite/groups/kinds.lua
@@ -0,0 +1,44 @@
+local colors = require "prismite.palette"
+
+local M = {}
+
+M.base = {
+ [""] = { fg = colors.blue },
+ Text = { link = "__base__" },
+ Method = { link = "@function.method" },
+ Function = { link = "@function" },
+ Constructor = { link = "@constructor" },
+ Field = { link = "@variable.member" },
+ Variable = { link = "@variable" },
+ Class = { link = "@type" },
+ Interface = { link = "@type" },
+ Module = { link = "@module" },
+ Property = { link = "@property" },
+ Unit = { link = "@constant" },
+ Value = { link = "__base__" },
+ Enum = { link = "@type" },
+ Keyword = { link = "@keyword" },
+ Snippet = { link = "__base__" },
+ Color = { link = "@string.special" },
+ File = { link = "@string.special.path" },
+ Reference = { link = "__base__" },
+ Folder = { link = "@string.special.path" },
+ EnumMember = { link = "@constant" },
+ Constant = { link = "@constant" },
+ Struct = { link = "@type" },
+ Event = { link = "@constant" },
+ Operator = { link = "@operator" },
+ TypeParameter = { link = "@parameter" },
+}
+
+function M.generate(base)
+ local ret = {}
+ for kind, hl in pairs(M.base) do
+ ret[base .. kind] =
+ vim.tbl_deep_extend("force", hl, hl.link and { link = hl.link:gsub("__base__", base) } or {})
+ end
+
+ return ret
+end
+
+return M
diff --git a/lua/prismite/groups/plugins/blink.lua b/lua/prismite/groups/plugins/blink.lua
new file mode 100644
index 0000000..b343c9f
--- /dev/null
+++ b/lua/prismite/groups/plugins/blink.lua
@@ -0,0 +1,10 @@
+local colors = require "prismite.palette"
+local kinds = require "prismite.groups.kinds"
+
+return vim.tbl_deep_extend("error", {
+ BlinkCmpMenuBorder = { fg = colors.border },
+ BlinkCmpGhostText = { fg = colors.fg_low },
+ BlinkCmpDocBorder = { fg = colors.border },
+ BlinkCmpLabelDescription = { fg = colors.fg_low },
+ BlinkCmpScrollBarThumb = { bg = colors.yellow },
+}, kinds.generate "BlinkCmpKind")
diff --git a/lua/prismite/groups/plugins/indentmini.lua b/lua/prismite/groups/plugins/indentmini.lua
new file mode 100644
index 0000000..5c2debc
--- /dev/null
+++ b/lua/prismite/groups/plugins/indentmini.lua
@@ -0,0 +1,5 @@
+local colors = require "prismite.palette"
+return {
+ IndentLine = { fg = colors.border_variant },
+ IndentLineCurrent = { fg = colors.border },
+}
diff --git a/lua/prismite/groups/plugins/init.lua b/lua/prismite/groups/plugins/init.lua
new file mode 100644
index 0000000..21bd8e6
--- /dev/null
+++ b/lua/prismite/groups/plugins/init.lua
@@ -0,0 +1,11 @@
+return vim.tbl_deep_extend(
+ "error",
+ {},
+ require "prismite.groups.plugins.indentmini",
+ require "prismite.groups.plugins.treesitter",
+ require "prismite.groups.plugins.noice",
+ require "prismite.groups.plugins.marks",
+ require "prismite.groups.plugins.trouble",
+ require "prismite.groups.plugins.nvim-tree",
+ require "prismite.groups.plugins.blink"
+)
diff --git a/lua/prismite/groups/plugins/marks.lua b/lua/prismite/groups/plugins/marks.lua
new file mode 100644
index 0000000..0bc2ef1
--- /dev/null
+++ b/lua/prismite/groups/plugins/marks.lua
@@ -0,0 +1,6 @@
+local colors = require "prismite.palette"
+
+return {
+ MarkSignHL = { fg = colors.green },
+ MarkSignNumHL = {},
+}
diff --git a/lua/prismite/groups/plugins/noice.lua b/lua/prismite/groups/plugins/noice.lua
new file mode 100644
index 0000000..5982db2
--- /dev/null
+++ b/lua/prismite/groups/plugins/noice.lua
@@ -0,0 +1,33 @@
+local colors = require "prismite.palette"
+
+return {
+ NoiceCmdline = { link = "Normal" },
+ NoiceCmdlineIcon = { bg = colors.bg, fg = colors.yellow },
+ NoiceCmdlinePopup = { bg = colors.bg },
+ NoicePopupBorder = { link = "WinSeparator" },
+ NoiceCmdlinePopupBorder = { link = "NoicePopupBorder" },
+ NoiceCmdlinePopupBorderSearch = { link = "NoicePopupBorder" },
+
+ NoiceCompletionItemKindClass = { link = "@type" },
+ NoiceCompletionItemKindColor = { link = "@type" },
+ NoiceCompletionItemKindConstant = { link = "@constant" },
+ NoiceCompletionItemKindConstructor = { link = "@constructor" },
+ NoiceCompletionItemKindDefault = { bold = true },
+ NoiceCompletionItemKindEnum = { link = "@type" },
+ NoiceCompletionItemKindEnumMember = { link = "@constant" },
+ NoiceCompletionItemKindField = { link = "@variable.member" },
+ NoiceCompletionItemKindFile = { link = "@constant" },
+ NoiceCompletionItemKindFolder = { link = "@constant" },
+ NoiceCompletionItemKindFunction = { link = "@function" },
+ NoiceCompletionItemKindInterface = { link = "@type" },
+ NoiceCompletionItemKindKeyword = { link = "@keyword" },
+ NoiceCompletionItemKindMethod = { link = "@function.method" },
+ NoiceCompletionItemKindModule = { link = "@module" },
+ NoiceCompletionItemKindProperty = { link = "@property" },
+ NoiceCompletionItemKindSnippet = { fg = colors.cyan },
+ NoiceCompletionItemKindStruct = { link = "@type" },
+ -- NoiceCompletionItemKindText = {},
+ NoiceCompletionItemKindUnit = { link = "@constant" },
+ NoiceCompletionItemKindValue = { link = "@constant" },
+ NoiceCompletionItemKindVariable = { link = "@variable" },
+}
diff --git a/lua/prismite/groups/plugins/nvim-tree.lua b/lua/prismite/groups/plugins/nvim-tree.lua
new file mode 100644
index 0000000..a358d19
--- /dev/null
+++ b/lua/prismite/groups/plugins/nvim-tree.lua
@@ -0,0 +1,7 @@
+local colors = require "prismite.palette"
+
+return {
+ NvimTreeSpecialFile = { fg = colors.green },
+ NvimTreeRootFolder = { link = "Directory" },
+ NvimTreeIndentMarker = { fg = colors.border },
+}
diff --git a/lua/prismite/groups/plugins/treesitter.lua b/lua/prismite/groups/plugins/treesitter.lua
new file mode 100644
index 0000000..0302c53
--- /dev/null
+++ b/lua/prismite/groups/plugins/treesitter.lua
@@ -0,0 +1,164 @@
+local colors = require "prismite.palette"
+
+return {
+ -- various variable names
+ ["@variable"] = { link = "Identifier" },
+ -- built-in variable names (e.g. `this`)
+ ["@variable.builtin"] = { fg = colors.pink, bold = true },
+ -- parameters of a function
+ ["@variable.parameter"] = { link = "@variable" },
+ -- special parameters (e.g. `_`, `it`)
+ ["@variable.parameter.builtin"] = { link = "@variable.builtin" },
+ -- object and struct fields
+ ["@variable.member"] = { fg = colors.fg },
+
+ -- constant identifiers
+ ["@constant"] = { link = "Constant" },
+ -- built-in constant values
+ ["@constant.builtin"] = { link = "@constant" },
+ -- constants defined by the preprocessor
+ ["@constant.macro"] = { link = "@constant" },
+
+ -- modules or namespaces
+ ["@module"] = { italic = true },
+ -- built-in modules or namespaces
+ ["@module.builtin"] = { link = "@module" },
+ -- GOTO and other labels (e.g. `label:` in C), including heredoc labels
+ ["@label"] = { link = "Todo" },
+
+ -- string literals
+ ["@string"] = { link = "String" },
+ -- string documenting code (e.g. Python docstrings
+ ["@string.documentation"] = { link = "@comment" },
+ -- regular expressions
+ ["@string.regexp"] = { link = "@constant" },
+ -- escape sequences
+ ["@string.escape"] = { fg = colors.cyan },
+ -- other special strings (e.g. dates)
+ ["@string.special"] = { link = "@string" },
+ -- symbols or atoms
+ ["@string.special.symbol"] = { link = "@string" },
+ -- URIs (e.g. hyperlinks)
+ ["@string.special.url"] = { underline = true },
+ -- filenames
+ ["@string.special.path"] = { link = "@string" },
+
+ -- character literals
+ ["@character"] = { link = "@constant" },
+ -- special characters (e.g. wildcards)
+ ["@character.special"] = { link = "String" },
+
+ -- boolean literals
+ ["@boolean"] = { link = "@constant" },
+ -- numeric literals
+ ["@number"] = { link = "@constant" },
+ -- floating-point number literals
+ ["@number.float"] = { link = "@number" },
+
+ -- type or class definitions and annotations
+ ["@type"] = { link = "Type" },
+ -- built-in types
+ ["@type.builtin"] = { link = "@type" },
+ -- identifiers in type definitions (e.g. `typedef <type> <identifier>` in C)
+ ["@type.definition"] = { link = "@type" },
+
+ -- attribute annotations (e.g. Python decorators, Rust lifetimes)
+ ["@attribute"] = { link = "Function" },
+ -- builtin annotations (e.g. `@property` in Python)
+ ["@attribute.builtin"] = { link = "@attribute" },
+ -- the key in key/value pairs
+ ["@property"] = { fg = colors.fg },
+
+ -- function definitions
+ ["@function"] = { link = "Function" },
+ -- built-in functions
+ ["@function.builtin"] = { link = "@function" },
+ -- function calls
+ ["@function.call"] = { link = "@function" },
+ -- preprocessor macros
+ ["@function.macro"] = { link = "@constant.macro" },
+
+ -- method definitions
+ ["@function.method"] = { link = "@function" },
+ -- method calls
+ ["@function.method.call"] = { link = "@function.method" },
+
+ -- constructor calls and definitions
+ ["@constructor"] = { link = "@function" },
+ -- this is overriden because for some reason the {} in table inits
+ -- are parsed as constructors, which ig makes sense
+ ["@constructor.lua"] = { fg = colors.fg },
+ -- symbolic operators (e.g. `+` / `*`)
+ ["@operator"] = { fg = colors.fg },
+
+ -- keywords not fitting into specific categories
+ ["@keyword"] = { link = "Keyword" },
+ -- keywords related to coroutines (e.g. `go` in Go, `async/await` in Python)
+ ["@keyword.coroutine"] = { link = "@keyword" },
+ -- keywords that define a function (e.g. `func` in Go, `def` in Python)
+ ["@keyword.function"] = { link = "@keyword" },
+ -- operators that are English words (e.g. `and` / `or`)
+ ["@keyword.operator"] = { link = "@keyword" },
+ -- keywords for including or exporting modules (e.g. `import` / `from` in Python)
+ ["@keyword.import"] = { link = "@keyword" },
+ -- keywords describing namespaces and composite types (e.g. `struct`, `enum`)
+ ["@keyword.type"] = { link = "@keyword" },
+ -- keywords modifying other constructs (e.g. `const`, `static`, `public`)
+ ["@keyword.modifier"] = { link = "@keyword" },
+ -- keywords related to loops (e.g. `for` / `while`)
+ ["@keyword.repeat"] = { link = "@keyword" },
+ -- keywords like `return` and `yield`
+ ["@keyword.return"] = { link = "@keyword" },
+ -- keywords related to debugging
+ ["@keyword.debug"] = { link = "@keyword" },
+ -- keywords related to exceptions (e.g. `throw` / `catch`)
+ ["@keyword.exception"] = { link = "@keyword" },
+
+ -- keywords related to conditionals (e.g. `if` / `else`)
+ ["@keyword.conditional"] = { link = "@keyword" },
+ -- ternary operator (e.g. `?` / `:`)
+ ["@keyword.conditional.ternary"] = { link = "@operator" },
+
+ -- various preprocessor directives & shebangs
+ ["@keyword.directive"] = { link = "@keyword" },
+ -- preprocessor definition directives
+ ["@keyword.directive.define"] = { link = "@keyword" },
+
+ -- delimiters (e.g. `;` / `.` / `,`)
+ ["@punctuation"] = { fg = colors.fg },
+ -- brackets (e.g. `()` / `{}` / `[]`)
+ ["@punctuation.special"] = { fg = colors.cyan },
+ -- special symbols (e.g. `{}` in string interpolation)
+
+ -- line and block comments
+ ["@comment"] = { link = "Comment" },
+ -- comments documenting code
+ ["@comment.documentation"] = { link = "@comment" },
+
+ ["@comment.error"] = { sp = colors.red, underline = true },
+ ["@comment.warning"] = { sp = colors.orange, underline = true },
+ ["@comment.todo"] = { link = "Todo" },
+ ["@comment.note"] = { sp = colors.blue, underline = true },
+
+ ["@markup.strong"] = { bold = true },
+ ["@markup.italic"] = { italic = true },
+ ["@markup.strikethrough"] = { strikethrough = true },
+ ["@markup.underline"] = { underline = true },
+
+ ["@markup.heading"] = { fg = colors.blue },
+
+ ["@markup.link"] = { fg = colors.cyan },
+ ["@markup.link.label"] = { bold = true },
+ ["@markup.link.url"] = { underline = true },
+
+ ["@diff.plus"] = { link = "Added" },
+ ["@diff.delta"] = { link = "Changed" },
+ ["@diff.minus"] = { link = "Removed" },
+
+ ["@tag"] = { link = "htmlTag" },
+ ["@tag.builtin"] = { link = "@tag" },
+ ["@tag.attribute"] = { link = "@property" },
+ ["@tag.delimeter"] = { link = "@tag" },
+
+ ["@none"] = { link = "Normal" },
+}
diff --git a/lua/prismite/groups/plugins/trouble.lua b/lua/prismite/groups/plugins/trouble.lua
new file mode 100644
index 0000000..0b6fdf9
--- /dev/null
+++ b/lua/prismite/groups/plugins/trouble.lua
@@ -0,0 +1,13 @@
+local colors = require "prismite.palette"
+
+return {
+ TroubleIndent = { fg = colors.border },
+ TroubleIndentFoldOpen = { fg = colors.fg },
+ TroubleIndentFoldClose = { fg = colors.fg },
+ TroubleIconDirectory = { fg = colors.fg },
+ TroubleFsCount = { fg = colors.fg },
+ TroubleDiagnosticsPost = { fg = colors.fg },
+ TroubleCode = { fg = colors.cyan },
+ TroubleLspCount = { fg = colors.fg },
+ TroubleLspPos = { fg = colors.fg },
+}
diff --git a/lua/prismite/groups/syntax.lua b/lua/prismite/groups/syntax.lua
new file mode 100644
index 0000000..3efde03
--- /dev/null
+++ b/lua/prismite/groups/syntax.lua
@@ -0,0 +1,92 @@
+local colors = require "prismite.palette"
+
+return {
+ Comment = { fg = colors.fg_low },
+
+ Constant = { fg = colors.pink },
+ String = { fg = colors.yellow },
+ Character = { link = "Constant" },
+ Number = { link = "Constant" },
+ Float = { link = "Number" },
+ Boolean = { link = "Constant" },
+
+ Identifier = { fg = colors.fg },
+ Function = { fg = colors.purple },
+
+ Statement = { fg = colors.blue },
+ Conditional = { link = "Statement" },
+ Repeat = { link = "Statement" },
+ Label = { link = "Statement" },
+ Operator = { fg = colors.fg },
+ Keyword = { link = "Statement" },
+ Exception = { link = "Statement" },
+
+ PreProc = { link = "Statement" },
+ Include = { link = "PreProc" },
+ Define = { link = "PreProc" },
+ Macro = { link = "PreProc" },
+ PreCondit = { link = "PreProc" },
+
+ Type = { fg = colors.orange },
+ StorageClass = { link = "Statement" },
+ Structure = { link = "Statement" },
+ Typedef = { link = "Statement" },
+
+ Special = { link = "Constant" },
+ SpecialChar = { link = "Special" },
+ Tag = { fg = colors.blue },
+ Delimiter = { fg = colors.fg },
+ SpecialComment = { fg = "fg", bg = "bg", underline = true },
+ Debug = { link = "Constant" },
+
+ Underlined = { underline = true },
+
+ Ignore = { fg = "bg" },
+
+ Error = { fg = colors.red },
+
+ Todo = { fg = colors.purple, bg = colors.bg },
+
+ Added = { link = "DiffAdd" },
+ Changed = { link = "DiffChange" },
+ Removed = { link = "DiffDelete" },
+
+ -- HTML specific highlights
+ htmlTag = { fg = colors.pink },
+ htmlEndTag = { fg = colors.pink },
+
+ -- Semantic highlights, see :h lsp-semantic-highlight
+ ["@lsp.type.class"] = { link = "@type" },
+ ["@lsp.type.comment"] = { link = "@comment" },
+ ["@lsp.type.decorator"] = { link = "@attribute" },
+ ["@lsp.type.enum"] = { link = "@type" },
+ ["@lsp.type.enumMember"] = { link = "@constant" },
+ -- ["@lsp.type.event"] = { link = "" }, -- TODO: figure out which hl this should link to
+ ["@lsp.type.function"] = { link = "@function" },
+ ["@lsp.type.interface"] = { link = "@type" },
+ ["@lsp.type.keyword"] = { link = "@keyword" },
+ ["@lsp.type.macro"] = { link = "@constant.macro" },
+ ["@lsp.type.method"] = { link = "@function.method" },
+ ["@lsp.type.modifier"] = { link = "@keyword.modifer" },
+ ["@lsp.type.namespace"] = { link = "@module" },
+ ["@lsp.type.number"] = { link = "@number" },
+ ["@lsp.type.operator"] = { link = "@operator" },
+ ["@lsp.type.parameter"] = { link = "@variable.parameter" },
+ ["@lsp.type.property"] = { link = "@property" },
+ ["@lsp.type.regexp"] = { link = "@string.regexp" },
+ ["@lsp.type.string"] = { link = "@string" },
+ ["@lsp.type.struct"] = { link = "@type" },
+ ["@lsp.type.type"] = { link = "@type" },
+ ["@lsp.type.typeParameter"] = { link = "@variable.parameter" },
+ ["@lsp.type.variable"] = { link = "@variable" },
+
+ ["@lsp.mod.abstract"] = {},
+ ["@lsp.mod.async"] = {},
+ ["@lsp.mod.declaration"] = {},
+ ["@lsp.mod.defaultLibrary"] = {},
+ ["@lsp.mod.definition"] = {},
+ ["@lsp.mod.deprecated"] = { strikethrough = true },
+ ["@lsp.mod.documentation"] = { underline = true },
+ ["@lsp.mod.modification"] = {},
+ ["@lsp.mod.static"] = {},
+}
diff --git a/lua/prismite/groups/ui.lua b/lua/prismite/groups/ui.lua
new file mode 100644
index 0000000..0941fd8
--- /dev/null
+++ b/lua/prismite/groups/ui.lua
@@ -0,0 +1,74 @@
+local colors = require "prismite.palette"
+local utils = require "prismite.utils"
+
+return {
+ Conceal = { fg = colors.bg_high },
+ CurSearch = { link = "Search" },
+ Cursor = { fg = colors.bg, bg = colors.fg },
+ CursorIM = { link = "Cursor" },
+ CursorColumn = { bg = colors.bg_high },
+ CursorLine = { link = "CursorColumn" },
+ Directory = { fg = colors.blue },
+ DiffAdd = { bg = utils.overlay_oklch(colors.green, colors.bg, 0.1) },
+ DiffChange = { bg = utils.overlay_oklch(colors.cyan, colors.bg, 0.1) },
+ DiffDelete = { bg = utils.overlay_oklch(colors.red, colors.bg, 0.1) },
+ DiffText = { link = "Normal" },
+ EndOfBuffer = { link = "Comment" },
+ -- TermCursor = { link = "Cursor" },
+ -- TermCursorNC = { link = "Cursor" },
+ ErrorMsg = { fg = colors.red },
+ WinSeparator = { fg = colors.border },
+ Folded = { fg = colors.bg, bg = colors.cyan },
+ FoldColumn = {},
+ SignColumn = {},
+ IncSearch = { link = "Search" },
+ Substitute = { underline = true },
+ LineNr = { fg = colors.fg, bg = colors.bg },
+ LineNrAbove = { fg = colors.fg_low },
+ LineNrBelow = { fg = colors.fg_low },
+ CursorLineNr = { fg = colors.fg, bg = colors.bg_high },
+ CursorLineFold = { fg = colors.fg, bg = colors.bg_high },
+ CursorLineSign = { bg = colors.bg_high },
+ MatchParen = { underline = true },
+ ModeMsg = { bg = colors.bg_high },
+ MsgArea = { bg = colors.bg_high },
+ MsgSeparator = {},
+ MoreMsg = { bg = colors.bg_high },
+ NonText = { fg = colors.fg_darjer },
+ Normal = { fg = colors.fg, bg = colors.bg },
+ NormalFloat = { link = "Normal" },
+ FloatBorder = { link = "WinSeparator" },
+ FloatTitle = {},
+ FloatFooter = {},
+ NormalNC = { link = "Normal" },
+ Pmenu = { link = "Normal" },
+ PmenuSel = { link = "CursorLine" },
+ PmenuKind = { link = "Pmenu" },
+ PmenuKindSel = { link = "PmenuSel" },
+ PmenuExtra = { link = "Pmenu" },
+ PmenuExtraSel = { link = "PmenuSel" },
+ PmenuSbar = { fg = colors.fg_low },
+ PmenuThumb = { fg = colors.yellow },
+ Question = {},
+ QuickFixLine = { link = "CursorLine" },
+ Search = { fg = colors.bg, bg = colors.yellow },
+ SpecialKey = { link = "NonText" },
+ SpellBad = { undercurl = true },
+ SpellCap = { undercurl = true },
+ SpellLocal = { undercurl = true },
+ SpellRare = { undercurl = true, italic = true },
+ StatusLine = { fg = colors.fg },
+ StatusLineNC = { fg = colors.fg_low },
+ TabLine = { bg = colors.bg_low, fg = colors.fg_low },
+ TabLineFill = { bg = colors.bg_lowest },
+ TabLineSel = { bg = colors.bg },
+ Title = {},
+ Visual = { bg = colors.bg_highest },
+ VisualNOS = { fg = colors.bg, bg = colors.orange },
+ WarningMsg = { fg = colors.orange },
+ Whitespace = { fg = colors.border },
+ WildMenu = { link = "CursorLine" },
+ WinBar = { link = "Normal" },
+ WinBarNC = { link = "WinBar" },
+ LspInlayHint = { link = "Comment" },
+}