mirror of
https://codeberg.org/pnx/skift.nvim.git
synced 2026-06-18 05:10:02 +02:00
Initial Commit
This commit is contained in:
commit
694515c168
16 changed files with 1325 additions and 0 deletions
79
lua/skift/groups/editor.lua
Normal file
79
lua/skift/groups/editor.lua
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
local M = {}
|
||||
|
||||
---@param c Colors
|
||||
function M.get(c)
|
||||
return {
|
||||
Normal = { fg = c.fg, bg = c.bg },
|
||||
NormalNC = { fg = c.fg, bg = c.bg },
|
||||
NormalFloat = { fg = c.fg, bg = c.bg_float },
|
||||
FloatBorder = { fg = c.border, bg = c.bg_float },
|
||||
FloatTitle = { fg = c.accent, bg = c.bg_float, bold = true },
|
||||
WinBar = { fg = c.fg_dim, bg = c.none },
|
||||
WinBarNC = { fg = c.fg_gutter, bg = c.none },
|
||||
|
||||
Cursor = { fg = c.bg, bg = c.fg },
|
||||
lCursor = { link = "Cursor" },
|
||||
CursorIM = { link = "Cursor" },
|
||||
TermCursor = { link = "Cursor" },
|
||||
TermCursorNC = { fg = c.bg, bg = c.fg_dim },
|
||||
CursorLine = { bg = c.bg_cursorline },
|
||||
CursorColumn = { link = "CursorLine" },
|
||||
|
||||
LineNr = { fg = c.fg_gutter },
|
||||
CursorLineNr = { fg = c.fg_gutter_active, bold = true },
|
||||
SignColumn = { fg = c.fg_gutter, bg = c.none },
|
||||
FoldColumn = { fg = c.fg_gutter, bg = c.none },
|
||||
|
||||
Search = { fg = c.fg_bright, bg = c.bg_search },
|
||||
IncSearch = { fg = c.bg, bg = c.bg_search },
|
||||
CurSearch = { link = "IncSearch" },
|
||||
Substitute = { fg = c.bg, bg = c.operator },
|
||||
|
||||
Visual = { bg = c.bg_selection },
|
||||
VisualNOS = { link = "Visual" },
|
||||
|
||||
StatusLine = { fg = c.fg, bg = c.bg_float },
|
||||
StatusLineNC = { fg = c.fg_dim, bg = c.bg_float },
|
||||
WinSeparator = { fg = c.border },
|
||||
VertSplit = { link = "WinSeparator" },
|
||||
|
||||
TabLine = { fg = c.fg_dim, bg = c.bg_float },
|
||||
TabLineFill = { bg = c.bg_float },
|
||||
TabLineSel = { fg = c.fg_bright, bg = c.bg, bold = true },
|
||||
|
||||
Pmenu = { fg = c.fg, bg = c.bg_float },
|
||||
PmenuSel = { fg = c.fg_bright, bg = c.bg_selection },
|
||||
PmenuSbar = { bg = c.bg_elevated },
|
||||
PmenuThumb = { bg = c.fg_gutter },
|
||||
PmenuKind = { fg = c.keyword, bg = c.bg_float },
|
||||
PmenuKindSel = { fg = c.keyword, bg = c.bg_selection },
|
||||
PmenuExtra = { fg = c.fg_dim, bg = c.bg_float },
|
||||
PmenuExtraSel = { fg = c.fg_dim, bg = c.bg_selection },
|
||||
|
||||
Folded = { fg = c.fg_comment, bg = c.none },
|
||||
|
||||
NonText = { fg = c.nontext },
|
||||
SpecialKey = { link = "NonText" },
|
||||
Whitespace = { link = "NonText" },
|
||||
EndOfBuffer = { link = "NonText" },
|
||||
MatchParen = { fg = c.match_paren, bold = true },
|
||||
ModeMsg = { fg = c.fg_bright, bold = true },
|
||||
MsgArea = { fg = c.fg },
|
||||
MoreMsg = { fg = c.accent },
|
||||
Question = { fg = c.accent },
|
||||
Directory = { fg = c.accent },
|
||||
Title = { fg = c.accent, bold = true },
|
||||
ErrorMsg = { fg = c.error },
|
||||
WarningMsg = { fg = c.warning },
|
||||
Conceal = { fg = c.fg_dim },
|
||||
SpellBad = { sp = c.error, undercurl = true },
|
||||
SpellCap = { sp = c.warning, undercurl = true },
|
||||
SpellLocal = { sp = c.info, undercurl = true },
|
||||
SpellRare = { sp = c.hint, undercurl = true },
|
||||
ColorColumn = { bg = c.bg_cursorline },
|
||||
QuickFixLine = { bg = c.bg_selection, bold = true },
|
||||
WildMenu = { link = "PmenuSel" },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
241
lua/skift/groups/integrations.lua
Normal file
241
lua/skift/groups/integrations.lua
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
local M = {}
|
||||
|
||||
---@param c Colors
|
||||
function M.get(c)
|
||||
return {
|
||||
-- Git signs
|
||||
GitSignsAdd = { fg = c.git_add },
|
||||
GitSignsChange = { fg = c.git_change },
|
||||
GitSignsDelete = { fg = c.git_delete },
|
||||
|
||||
-- Diff
|
||||
DiffAdd = { bg = c.diff_add_bg },
|
||||
DiffChange = { bg = c.diff_change_bg },
|
||||
DiffDelete = { bg = c.diff_delete_bg },
|
||||
DiffText = { bg = c.diff_text_bg },
|
||||
Added = { fg = c.git_add },
|
||||
Changed = { fg = c.git_change },
|
||||
Removed = { fg = c.git_delete },
|
||||
|
||||
-- Telescope
|
||||
TelescopeBorder = { fg = c.border, bg = c.bg_float },
|
||||
TelescopeNormal = { fg = c.fg, bg = c.bg_float },
|
||||
TelescopePromptBorder = { fg = c.border, bg = c.bg_float },
|
||||
TelescopePromptNormal = { fg = c.fg, bg = c.bg_float },
|
||||
TelescopePromptPrefix = { fg = c.accent },
|
||||
TelescopePromptTitle = { fg = c.accent, bold = true },
|
||||
TelescopePreviewTitle = { fg = c.string, bold = true },
|
||||
TelescopeResultsTitle = { fg = c.keyword, bold = true },
|
||||
TelescopeSelection = { bg = c.bg_selection },
|
||||
TelescopeMatching = { fg = c.accent, bold = true },
|
||||
|
||||
-- nvim-cmp
|
||||
CmpItemAbbr = { fg = c.fg },
|
||||
CmpItemAbbrDeprecated = { fg = c.fg_gutter, strikethrough = true },
|
||||
CmpItemAbbrMatch = { fg = c.accent, bold = true },
|
||||
CmpItemAbbrMatchFuzzy = { fg = c.accent, bold = true },
|
||||
CmpItemMenu = { fg = c.fg_comment },
|
||||
CmpItemKindDefault = { fg = c.fg_dim },
|
||||
CmpItemKindKeyword = { fg = c.keyword },
|
||||
CmpItemKindVariable = { fg = c.variable },
|
||||
CmpItemKindConstant = { fg = c.constant },
|
||||
CmpItemKindReference = { fg = c.variable },
|
||||
CmpItemKindValue = { fg = c.constant },
|
||||
CmpItemKindFunction = { fg = c.func },
|
||||
CmpItemKindMethod = { fg = c.func },
|
||||
CmpItemKindConstructor = { fg = c.type },
|
||||
CmpItemKindClass = { fg = c.type },
|
||||
CmpItemKindInterface = { fg = c.type },
|
||||
CmpItemKindStruct = { fg = c.type },
|
||||
CmpItemKindEvent = { fg = c.keyword },
|
||||
CmpItemKindEnum = { fg = c.type },
|
||||
CmpItemKindUnit = { fg = c.constant },
|
||||
CmpItemKindModule = { fg = c.fg_dim },
|
||||
CmpItemKindProperty = { fg = c.operator },
|
||||
CmpItemKindField = { fg = c.operator },
|
||||
CmpItemKindTypeParameter = { fg = c.type },
|
||||
CmpItemKindEnumMember = { fg = c.constant },
|
||||
CmpItemKindOperator = { fg = c.operator },
|
||||
CmpItemKindSnippet = { fg = c.special },
|
||||
CmpItemKindText = { fg = c.fg },
|
||||
CmpItemKindFile = { fg = c.fg },
|
||||
CmpItemKindFolder = { fg = c.accent },
|
||||
CmpItemKindColor = { fg = c.special },
|
||||
|
||||
-- blink.cmp
|
||||
BlinkCmpMenu = { fg = c.fg, bg = c.bg_float },
|
||||
BlinkCmpMenuBorder = { fg = c.border, bg = c.bg_float },
|
||||
BlinkCmpMenuSelection = { bg = c.bg_selection },
|
||||
BlinkCmpLabel = { fg = c.fg },
|
||||
BlinkCmpLabelMatch = { fg = c.accent, bold = true },
|
||||
BlinkCmpLabelDeprecated = { fg = c.fg_gutter, strikethrough = true },
|
||||
BlinkCmpKind = { fg = c.fg_dim },
|
||||
BlinkCmpKindFunction = { fg = c.func },
|
||||
BlinkCmpKindMethod = { fg = c.func },
|
||||
BlinkCmpKindConstructor = { fg = c.type },
|
||||
BlinkCmpKindClass = { fg = c.type },
|
||||
BlinkCmpKindStruct = { fg = c.type },
|
||||
BlinkCmpKindInterface = { fg = c.type },
|
||||
BlinkCmpKindModule = { fg = c.fg_dim },
|
||||
BlinkCmpKindProperty = { fg = c.operator },
|
||||
BlinkCmpKindField = { fg = c.operator },
|
||||
BlinkCmpKindVariable = { fg = c.variable },
|
||||
BlinkCmpKindKeyword = { fg = c.keyword },
|
||||
BlinkCmpKindSnippet = { fg = c.special },
|
||||
BlinkCmpKindText = { fg = c.fg },
|
||||
BlinkCmpKindValue = { fg = c.constant },
|
||||
BlinkCmpKindEnum = { fg = c.type },
|
||||
BlinkCmpKindColor = { fg = c.special },
|
||||
BlinkCmpKindFile = { fg = c.fg },
|
||||
BlinkCmpKindFolder = { fg = c.accent },
|
||||
BlinkCmpKindConstant = { fg = c.constant },
|
||||
BlinkCmpKindTypeParameter = { fg = c.type },
|
||||
BlinkCmpKindOperator = { fg = c.operator },
|
||||
BlinkCmpDoc = { fg = c.fg, bg = c.bg_float },
|
||||
BlinkCmpDocBorder = { fg = c.border, bg = c.bg_float },
|
||||
|
||||
-- Indent blankline
|
||||
IblIndent = { fg = c.guide },
|
||||
IblScope = { fg = c.guide_active },
|
||||
IblWhitespace = { fg = c.guide },
|
||||
|
||||
-- Which-key
|
||||
WhichKey = { fg = c.accent },
|
||||
WhichKeyGroup = { fg = c.keyword },
|
||||
WhichKeyDesc = { fg = c.fg },
|
||||
WhichKeySeparator = { fg = c.fg_comment },
|
||||
WhichKeyValue = { fg = c.fg_dim },
|
||||
WhichKeyBorder = { fg = c.border },
|
||||
|
||||
-- Trouble
|
||||
TroubleText = { fg = c.fg },
|
||||
TroubleCount = { fg = c.accent, bold = true },
|
||||
TroubleNormal = { fg = c.fg, bg = c.bg_float },
|
||||
|
||||
-- Nvim-tree
|
||||
NvimTreeNormal = { fg = c.fg, bg = c.bg_dim },
|
||||
NvimTreeRootFolder = { fg = c.accent, bold = true },
|
||||
NvimTreeFolderName = { fg = c.accent },
|
||||
NvimTreeFolderIcon = { link = "NvimTreeFolderName" },
|
||||
NvimTreeOpenedFolderName = { link = "NvimTreeFolderName" },
|
||||
NvimTreeOpenedHL = { fg = c.accent },
|
||||
NvimTreeGitDirty = { fg = c.git_change },
|
||||
NvimTreeGitNew = { fg = c.fg_dim },
|
||||
NvimTreeGitDeleted = { fg = c.git_delete },
|
||||
NvimTreeGitIgnored = { fg = c.git_ignore },
|
||||
NvimTreeGitStaged = { fg = c.git_add },
|
||||
NvimTreeSpecialFile = { fg = c.special },
|
||||
NvimTreeIndentMarker = { fg = c.guide },
|
||||
NvimTreeWinSeparator = { fg = c.border, bg = c.bg_dim },
|
||||
|
||||
-- Neo-tree
|
||||
NeoTreeNormal = { fg = c.fg, bg = c.bg_float },
|
||||
NeoTreeNormalNC = { fg = c.fg, bg = c.bg_float },
|
||||
NeoTreeDimText = { fg = c.fg_dim },
|
||||
NeoTreeRootName = { fg = c.accent, bold = true },
|
||||
NeoTreeDirectoryName = { fg = c.accent },
|
||||
NeoTreeDirectoryIcon = { fg = c.accent },
|
||||
NeoTreeGitAdded = { fg = c.git_add },
|
||||
NeoTreeGitModified = { fg = c.git_change },
|
||||
NeoTreeGitDeleted = { fg = c.git_delete },
|
||||
NeoTreeGitIgnored = { fg = c.git_ignore },
|
||||
NeoTreeIndentMarker = { fg = c.guide },
|
||||
NeoTreeWinSeparator = { fg = c.border },
|
||||
|
||||
-- Lazy
|
||||
LazyButton = { fg = c.fg, bg = c.bg_elevated },
|
||||
LazyButtonActive = { fg = c.fg_bright, bg = c.bg_selection, bold = true },
|
||||
LazyH1 = { fg = c.bg, bg = c.accent, bold = true },
|
||||
LazyProgressDone = { fg = c.accent },
|
||||
LazyProgressTodo = { fg = c.fg_gutter },
|
||||
LazySpecial = { fg = c.accent },
|
||||
|
||||
-- Mason
|
||||
MasonHeader = { fg = c.bg, bg = c.accent, bold = true },
|
||||
MasonHighlight = { fg = c.accent },
|
||||
MasonHighlightBlock = { fg = c.bg, bg = c.accent },
|
||||
MasonMutedBlock = { fg = c.fg, bg = c.bg_elevated },
|
||||
|
||||
-- Noice
|
||||
NoiceCmdlinePopup = { fg = c.fg, bg = c.bg_float },
|
||||
NoiceCmdlinePopupBorder = { fg = c.border },
|
||||
NoiceCmdlineIcon = { fg = c.accent },
|
||||
NoiceConfirm = { fg = c.fg, bg = c.bg_float },
|
||||
NoiceConfirmBorder = { fg = c.border },
|
||||
|
||||
-- Notify
|
||||
NotifyERRORBorder = { fg = c.error },
|
||||
NotifyERRORIcon = { fg = c.error },
|
||||
NotifyERRORTitle = { fg = c.error },
|
||||
NotifyWARNBorder = { fg = c.warning },
|
||||
NotifyWARNIcon = { fg = c.warning },
|
||||
NotifyWARNTitle = { fg = c.warning },
|
||||
NotifyINFOBorder = { fg = c.info },
|
||||
NotifyINFOIcon = { fg = c.info },
|
||||
NotifyINFOTitle = { fg = c.info },
|
||||
NotifyDEBUGBorder = { fg = c.fg_comment },
|
||||
NotifyDEBUGIcon = { fg = c.fg_comment },
|
||||
NotifyDEBUGTitle = { fg = c.fg_comment },
|
||||
NotifyTRACEBorder = { fg = c.keyword },
|
||||
NotifyTRACEIcon = { fg = c.keyword },
|
||||
NotifyTRACETitle = { fg = c.keyword },
|
||||
|
||||
-- Mini
|
||||
MiniStatuslineModeNormal = { fg = c.bg, bg = c.accent, bold = true },
|
||||
MiniStatuslineModeInsert = { fg = c.bg, bg = c.string, bold = true },
|
||||
MiniStatuslineModeVisual = { fg = c.bg, bg = c.keyword, bold = true },
|
||||
MiniStatuslineModeReplace = { fg = c.bg, bg = c.error, bold = true },
|
||||
MiniStatuslineModeCommand = { fg = c.bg, bg = c.warning, bold = true },
|
||||
MiniStatuslineModeOther = { fg = c.bg, bg = c.special, bold = true },
|
||||
MiniStatuslineFilename = { fg = c.fg, bg = c.bg_elevated },
|
||||
MiniStatuslineFileinfo = { fg = c.fg_dim, bg = c.bg_elevated },
|
||||
MiniStatuslineDevinfo = { fg = c.fg_dim, bg = c.bg_elevated },
|
||||
MiniStatuslineInactive = { fg = c.fg_gutter, bg = c.bg_elevated },
|
||||
|
||||
-- Snacks
|
||||
SnacksIndent = { fg = c.guide },
|
||||
SnacksIndentScope = { fg = c.guide_active },
|
||||
|
||||
-- Flash
|
||||
FlashLabel = { fg = c.bg, bg = c.accent, bold = true },
|
||||
FlashMatch = { fg = c.fg_dim, bg = c.bg_selection },
|
||||
FlashCurrent = { fg = c.fg_bright, bg = c.bg_search },
|
||||
|
||||
-- Treesitter context
|
||||
TreesitterContext = { bg = c.bg_elevated },
|
||||
TreesitterContextLineNumber = { fg = c.fg_gutter_active, bg = c.bg_elevated },
|
||||
|
||||
-- Dashboard / Alpha
|
||||
DashboardHeader = { fg = c.accent },
|
||||
DashboardFooter = { fg = c.fg_comment, italic = true },
|
||||
DashboardDesc = { fg = c.fg },
|
||||
DashboardKey = { fg = c.constant },
|
||||
DashboardIcon = { fg = c.accent },
|
||||
DashboardShortCut = { fg = c.keyword },
|
||||
|
||||
-- Render-markdown
|
||||
RenderMarkdownH1Bg = { fg = c.red, bg = c.red_dim },
|
||||
RenderMarkdownH2Bg = { fg = c.orange, bg = c.orange_dim },
|
||||
RenderMarkdownH3Bg = { fg = c.yellow, bg = c.yellow_dim },
|
||||
RenderMarkdownH4Bg = { fg = c.green, bg = c.green_dim },
|
||||
RenderMarkdownH5Bg = { fg = c.cyan, bg = c.cyan_dim },
|
||||
RenderMarkdownH6Bg = { fg = c.blue, bg = c.blue_dim },
|
||||
RenderMarkdownCode = { bg = c.bg_elevated },
|
||||
|
||||
-- Oil
|
||||
OilDir = { fg = c.accent },
|
||||
OilDirIcon = { fg = c.accent },
|
||||
OilFile = { fg = c.fg },
|
||||
OilCreate = { fg = c.git_add },
|
||||
OilDelete = { fg = c.git_delete },
|
||||
OilMove = { fg = c.git_change },
|
||||
OilCopy = { fg = c.info },
|
||||
|
||||
-- Fzf-lua
|
||||
FzfLuaBorder = { fg = c.border },
|
||||
FzfLuaTitle = { fg = c.accent, bold = true },
|
||||
FzfLuaCursorLine = { bg = c.bg_selection },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
98
lua/skift/groups/lsp.lua
Normal file
98
lua/skift/groups/lsp.lua
Normal 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
|
||||
46
lua/skift/groups/syntax.lua
Normal file
46
lua/skift/groups/syntax.lua
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
local M = {}
|
||||
|
||||
---@param c Colors
|
||||
function M.get(c)
|
||||
return {
|
||||
Comment = { fg = c.fg_comment, italic = true },
|
||||
String = { fg = c.string },
|
||||
Character = { fg = c.string },
|
||||
Number = { fg = c.number },
|
||||
Float = { link = "Number" },
|
||||
Boolean = { link = "Constant" },
|
||||
Identifier = { link = "Constant" },
|
||||
Function = { link = "Normal" },
|
||||
Statement = { link = "Keyword" },
|
||||
Conditional = { link = "Keyword" },
|
||||
Repeat = { link = "Keyword" },
|
||||
Label = { fg = c.tag },
|
||||
Operator = { fg = c.operator },
|
||||
Keyword = { fg = c.keyword },
|
||||
Exception = { fg = c.error },
|
||||
PreProc = { fg = c.special },
|
||||
Include = { link = "PreProc" },
|
||||
Define = { link = "PreProc" },
|
||||
Macro = { link = "PreProc" },
|
||||
PreCondit = { link = "PreProc" },
|
||||
Type = { fg = c.type },
|
||||
StorageClass = { fg = c.keyword, italic = true },
|
||||
Structure = { fg = c.type, bold = true },
|
||||
Typedef = { link = "PreProc" },
|
||||
Constant = { fg = c.constant },
|
||||
Special = { fg = c.special },
|
||||
SpecialChar = { link = "Special" },
|
||||
Tag = { fg = c.tag },
|
||||
Delimiter = { fg = c.fg_dim },
|
||||
SpecialComment = { fg = c.constant, italic = true },
|
||||
Debug = { fg = c.hint },
|
||||
Underlined = { fg = c.accent, underline = true },
|
||||
Bold = { bold = true },
|
||||
Italic = { italic = true },
|
||||
Ignore = { fg = c.nontext },
|
||||
Error = { fg = c.error },
|
||||
Todo = { fg = c.bg, bg = c.info, bold = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
121
lua/skift/groups/treesitter.lua
Normal file
121
lua/skift/groups/treesitter.lua
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
local M = {}
|
||||
|
||||
---@param c Colors
|
||||
function M.get(c)
|
||||
return {
|
||||
["@variable"] = { fg = c.variable },
|
||||
["@variable.builtin"] = { fg = c.variable, italic = true },
|
||||
["@variable.parameter"] = { link = "@variable" },
|
||||
["@variable.parameter.builtin"] = { link = "@variable.builtin" },
|
||||
["@variable.member"] = { link = "@variable" },
|
||||
|
||||
["@property"] = { fg = c.property },
|
||||
|
||||
["@constant"] = { fg = c.constant },
|
||||
["@constant.builtin"] = { fg = c.constant, bold = true },
|
||||
["@constant.macro"] = { fg = c.special, bold = true },
|
||||
|
||||
["@preproc"] = { link = "PreProc" },
|
||||
["@module"] = { link = "@preproc" },
|
||||
["@module.builtin"] = { link = "@module" },
|
||||
|
||||
["@label"] = { fg = c.tag },
|
||||
|
||||
["@string"] = { link = "String" },
|
||||
["@string.documentation"] = { link = "@string" },
|
||||
["@string.escape"] = { fg = c.special },
|
||||
["@string.regexp"] = { fg = c.special },
|
||||
["@string.special"] = { fg = c.special },
|
||||
["@string.special.symbol"] = { link = "@string.special" },
|
||||
["@string.special.url"] = { fg = c.special, underline = true },
|
||||
["@string.special.path"] = { link = "@string.special" },
|
||||
|
||||
["@character"] = { link = "String" },
|
||||
["@character.special"] = { link = "@string.special" },
|
||||
|
||||
["@number"] = { link = "Number" },
|
||||
["@number.float"] = { link = "@number" },
|
||||
["@boolean"] = { link = "Boolean" },
|
||||
|
||||
["@type"] = { link = "Type" },
|
||||
["@type.builtin"] = { link = "@type" },
|
||||
["@type.definition"] = { link = "@type" },
|
||||
["@type.qualifier"] = { link = "@type" },
|
||||
|
||||
["@attribute"] = { fg = c.type },
|
||||
["@attribute.builtin"] = { fg = c.type, italic = true },
|
||||
|
||||
["@function"] = { link = "Function" },
|
||||
["@function.builtin"] = { link = "@function" },
|
||||
["@function.call"] = { link = "@function" },
|
||||
["@function.macro"] = { link = "@function" },
|
||||
["@function.method"] = { link = "@function" },
|
||||
["@function.method.call"] = { link = "@function" },
|
||||
|
||||
["@constructor"] = { link = "Normal" },
|
||||
["@class"] = { link = "Normal" },
|
||||
|
||||
["@operator"] = { link = "Operator" },
|
||||
|
||||
["@keyword"] = { link = "Keyword" },
|
||||
["@keyword.coroutine"] = { fg = c.special },
|
||||
["@keyword.function"] = { link = "@keyword" },
|
||||
["@keyword.operator"] = { link = "@operator" },
|
||||
["@keyword.import"] = { link = "@keyword" },
|
||||
["@keyword.type"] = { link = "@keyword" },
|
||||
["@keyword.modifier"] = { link = "@keyword" },
|
||||
["@keyword.repeat"] = { link = "@keyword" },
|
||||
["@keyword.return"] = { link = "@keyword" },
|
||||
["@keyword.debug"] = { fg = c.error },
|
||||
["@keyword.exception"] = { fg = c.error },
|
||||
["@keyword.conditional"] = { link = "Conditional" },
|
||||
["@keyword.conditional.ternary"] = { link = "Conditional" },
|
||||
["@keyword.directive"] = { link = "PreProc" },
|
||||
["@keyword.directive.define"] = { link = "@keyword.directive" },
|
||||
|
||||
["@punctuation.bracket"] = { link = "Operator" },
|
||||
["@punctuation.delimiter"] = { link = "Operator" },
|
||||
["@punctuation.special"] = { link = "Operator" },
|
||||
|
||||
["@comment"] = { link = "Comment" },
|
||||
["@comment.documentation"] = { link = "@comment" },
|
||||
["@comment.error"] = { fg = c.error },
|
||||
["@comment.warning"] = { fg = c.warning },
|
||||
["@comment.todo"] = { fg = c.info },
|
||||
["@comment.note"] = { fg = c.hint },
|
||||
|
||||
["@markup.strong"] = { fg = c.fg_bright, bold = true },
|
||||
["@markup.italic"] = { fg = c.fg_bright, italic = true },
|
||||
["@markup.strikethrough"] = { fg = c.fg_dim, strikethrough = true },
|
||||
["@markup.underline"] = { underline = true },
|
||||
["@markup.heading"] = { fg = c.red, bold = true },
|
||||
["@markup.heading.1"] = { fg = c.red, bold = true },
|
||||
["@markup.heading.2"] = { fg = c.orange, bold = true },
|
||||
["@markup.heading.3"] = { fg = c.yellow, bold = true },
|
||||
["@markup.heading.4"] = { fg = c.green, bold = true },
|
||||
["@markup.heading.5"] = { fg = c.cyan, bold = true },
|
||||
["@markup.heading.6"] = { fg = c.blue, bold = true },
|
||||
["@markup.quote"] = { fg = c.fg_dim, italic = true },
|
||||
["@markup.math"] = { fg = c.constant },
|
||||
["@markup.environment"] = { fg = c.keyword },
|
||||
["@markup.link"] = { fg = c.string, underline = true },
|
||||
["@markup.link.label"] = { fg = c.string },
|
||||
["@markup.link.url"] = { fg = c.string, underline = true },
|
||||
["@markup.raw"] = { fg = c.rose },
|
||||
["@markup.raw.block"] = { fg = c.fg },
|
||||
["@markup.list"] = { fg = c.operator },
|
||||
["@markup.list.checked"] = { fg = c.ok },
|
||||
["@markup.list.unchecked"] = { fg = c.fg_dim },
|
||||
|
||||
["@tag"] = { fg = c.keyword },
|
||||
["@tag.builtin"] = { fg = c.keyword, italic = true },
|
||||
["@tag.attribute"] = { link = "@tag" },
|
||||
["@tag.delimiter"] = { fg = c.operator },
|
||||
|
||||
["@diff.plus"] = { fg = c.git_add },
|
||||
["@diff.minus"] = { fg = c.git_delete },
|
||||
["@diff.delta"] = { fg = c.git_change },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
Loading…
Add table
Add a link
Reference in a new issue