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