skift.nvim/lua/skift/groups/integrations.lua
2026-05-17 17:12:35 +02:00

241 lines
12 KiB
Lua

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