Initial Commit

This commit is contained in:
Henrik Hautakoski 2026-05-17 16:26:31 +02:00
commit 694515c168
16 changed files with 1325 additions and 0 deletions

98
lua/skift/groups/lsp.lua Normal file
View file

@ -0,0 +1,98 @@
local M = {}
---@param c Colors
function M.get(c)
return {
LspReferenceText = { bg = c.bg_selection },
LspReferenceRead = { bg = c.bg_selection },
LspReferenceWrite = { bg = c.bg_selection, bold = true },
LspCodeLens = { fg = c.fg_comment },
LspCodeLensSeparator = { fg = c.fg_gutter },
LspSignatureActiveParameter = { fg = c.accent, bold = true },
LspInlayHint = { fg = c.fg_gutter, italic = true },
DiagnosticError = { fg = c.error },
DiagnosticWarn = { fg = c.warning },
DiagnosticInfo = { fg = c.info },
DiagnosticHint = { fg = c.hint },
DiagnosticOk = { fg = c.ok },
DiagnosticSignError = { fg = c.error },
DiagnosticSignWarn = { fg = c.warning },
DiagnosticSignInfo = { fg = c.info },
DiagnosticSignHint = { fg = c.hint },
DiagnosticSignOk = { fg = c.ok },
DiagnosticVirtualTextError = { fg = c.error, bg = c.bg_elevated },
DiagnosticVirtualTextWarn = { fg = c.warning, bg = c.bg_elevated },
DiagnosticVirtualTextInfo = { fg = c.info, bg = c.bg_elevated },
DiagnosticVirtualTextHint = { fg = c.hint, bg = c.bg_elevated },
DiagnosticVirtualTextOk = { fg = c.ok, bg = c.bg_elevated },
DiagnosticUnderlineError = { sp = c.error, undercurl = true },
DiagnosticUnderlineWarn = { sp = c.warning, undercurl = true },
DiagnosticUnderlineInfo = { sp = c.info, undercurl = true },
DiagnosticUnderlineHint = { sp = c.hint, undercurl = true },
DiagnosticUnderlineOk = { sp = c.ok, undercurl = true },
DiagnosticFloatingError = { fg = c.error },
DiagnosticFloatingWarn = { fg = c.warning },
DiagnosticFloatingInfo = { fg = c.info },
DiagnosticFloatingHint = { fg = c.hint },
DiagnosticFloatingOk = { fg = c.ok },
["@lsp.type.boolean"] = { link = "@boolean" },
["@lsp.type.builtinType"] = { link = "@type.builtin" },
["@lsp.type.comment"] = { link = "@comment" },
["@lsp.type.decorator"] = { link = "@attribute" },
["@lsp.type.deriveHelper"] = { link = "@attribute" },
["@lsp.type.enum"] = { link = "@type" },
["@lsp.type.enumMember"] = { link = "@constant" },
["@lsp.type.escapeSequence"] = { link = "@string.escape" },
["@lsp.type.formatSpecifier"] = { link = "@punctuation.special" },
["@lsp.type.function"] = { link = "@function" },
["@lsp.type.generic"] = { link = "@variable" },
["@lsp.type.interface"] = { link = "@type" },
["@lsp.type.keyword"] = { link = "@keyword" },
["@lsp.type.lifetime"] = { link = "@keyword.modifier" },
["@lsp.type.macro"] = { link = "@function.macro" },
["@lsp.type.method"] = { link = "@function.method" },
["@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.selfKeyword"] = { link = "@variable.builtin" },
["@lsp.type.selfTypeKeyword"] = { link = "@variable.builtin" },
["@lsp.type.string"] = { link = "@string" },
["@lsp.type.struct"] = { link = "@type" },
["@lsp.type.type"] = { link = "@type" },
["@lsp.type.typeAlias"] = { link = "@type.definition" },
["@lsp.type.typeParameter"] = { link = "@type" },
["@lsp.type.unresolvedReference"] = { sp = c.error, undercurl = true },
["@lsp.type.variable"] = {},
["@lsp.typemod.class.defaultLibrary"] = { link = "@type.builtin" },
["@lsp.typemod.enum.defaultLibrary"] = { link = "@type.builtin" },
["@lsp.typemod.enumMember.defaultLibrary"] = { link = "@constant.builtin" },
["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" },
["@lsp.typemod.keyword.async"] = { link = "@keyword.coroutine" },
["@lsp.typemod.keyword.injected"] = { link = "@keyword" },
["@lsp.typemod.macro.defaultLibrary"] = { link = "@function.builtin" },
["@lsp.typemod.method.defaultLibrary"] = { link = "@function.builtin" },
["@lsp.typemod.operator.injected"] = { link = "@operator" },
["@lsp.typemod.string.injected"] = { link = "@string" },
["@lsp.typemod.struct.defaultLibrary"] = { link = "@type.builtin" },
["@lsp.typemod.type.defaultLibrary"] = { link = "@type.builtin" },
["@lsp.typemod.typeAlias.defaultLibrary"] = { link = "@type.builtin" },
["@lsp.typemod.variable.callable"] = { link = "@function" },
["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" },
["@lsp.typemod.variable.injected"] = { link = "@variable" },
["@lsp.typemod.variable.static"] = { link = "@constant" },
["@lsp.typemod.property"] = { link = "@property" },
["@lsp.typemod.property.declaration"] = { link = "@variable" }, -- a property declaration is a variable
}
end
return M