nvim/lua/paper-tonic-modern/groups/plugins.lua

166 lines
6.3 KiB
Lua

-- Paper Tonic Modern - Plugin Highlight Groups
-- Highlights for various plugins (Telescope, Gitsigns, cmp, Oil, etc.)
local c = require('paper-tonic-modern.colors')
return {
-- ============================================================================
-- Telescope
-- ============================================================================
TelescopeNormal = { fg = c.fg, bg = c.bg },
TelescopeBorder = { fg = c.fg_weak, bg = c.bg },
TelescopeTitle = { fg = c.primary_strong, bold = true },
-- Selection
TelescopeSelection = { fg = c.fg_stronger, bg = c.bg_hl },
TelescopeSelectionCaret = { fg = c.primary, bg = c.bg_hl },
-- Matching
TelescopeMatching = { fg = c.primary, bold = true },
-- Prompts
TelescopePromptNormal = { fg = c.fg, bg = c.bg_ui },
TelescopePromptBorder = { fg = c.fg_weak, bg = c.bg_ui },
TelescopePromptTitle = { fg = c.primary_strong, bold = true },
TelescopePromptPrefix = { fg = c.primary },
TelescopePromptCounter = { fg = c.fg_weak },
-- Results
TelescopeResultsNormal = { fg = c.fg, bg = c.bg },
TelescopeResultsBorder = { fg = c.fg_weak, bg = c.bg },
TelescopeResultsTitle = { fg = c.fg_strong, bold = true },
-- Preview
TelescopePreviewNormal = { fg = c.fg, bg = c.bg },
TelescopePreviewBorder = { fg = c.fg_weak, bg = c.bg },
TelescopePreviewTitle = { fg = c.fg_strong, bold = true },
-- ============================================================================
-- Gitsigns
-- ============================================================================
-- Signs in the gutter
GitSignsAdd = { fg = c.success, bg = c.bg }, -- Green
GitSignsChange = { fg = c.modified, bg = c.bg }, -- Blue
GitSignsDelete = { fg = c.fail, bg = c.bg }, -- Red
-- Line highlights (when enabled)
GitSignsAddLn = { bg = c.bg_success },
GitSignsChangeLn = { bg = c.bg_modified },
GitSignsDeleteLn = { bg = c.bg_fail },
-- Virtual text (inline blame, etc.)
GitSignsCurrentLineBlame = { fg = c.fg_weak, italic = true },
-- Diff highlights
GitSignsAddInline = { bg = c.bg_hl_special_alt },
GitSignsChangeInline = { bg = c.bg_hl_special },
GitSignsDeleteInline = { bg = c.bg_error_weak },
-- ============================================================================
-- nvim-cmp (completion menu)
-- ============================================================================
-- Menu
CmpItemMenu = { fg = c.fg_weak, italic = true },
CmpItemAbbrMatch = { fg = c.primary, bold = true },
CmpItemAbbrMatchFuzzy = { fg = c.primary_weak },
CmpItemAbbrDeprecated = { fg = c.fg_weak, strikethrough = true },
-- Kind icons/labels
CmpItemKindDefault = { fg = c.fg },
CmpItemKindVariable = { fg = c.fg },
CmpItemKindFunction = { fg = c.primary_weak },
CmpItemKindMethod = { fg = c.primary_weak },
CmpItemKindConstructor = { fg = c.primary },
CmpItemKindClass = { fg = c.primary_strong },
CmpItemKindInterface = { fg = c.primary_strong },
CmpItemKindStruct = { fg = c.primary_strong },
CmpItemKindProperty = { fg = c.fg_strong },
CmpItemKindField = { fg = c.fg_strong },
CmpItemKindEnum = { fg = c.primary },
CmpItemKindEnumMember = { fg = c.fg_strong },
CmpItemKindModule = { fg = c.primary },
CmpItemKindKeyword = { fg = c.primary_weak },
CmpItemKindSnippet = { fg = c.modified },
CmpItemKindText = { fg = c.fg },
CmpItemKindFile = { fg = c.fg },
CmpItemKindFolder = { fg = c.fg_strong },
CmpItemKindColor = { fg = c.alert },
CmpItemKindUnit = { fg = c.fg_weak },
CmpItemKindValue = { fg = c.fg_strong },
CmpItemKindConstant = { fg = c.fg_strong },
CmpItemKindReference = { fg = c.modified },
CmpItemKindOperator = { fg = c.fg },
CmpItemKindTypeParameter = { fg = c.primary },
-- ============================================================================
-- Oil.nvim (file explorer)
-- ============================================================================
OilDir = { fg = c.fg_strong, bold = true },
OilDirIcon = { fg = c.fg_strong },
OilLink = { fg = c.modified },
OilLinkTarget = { fg = c.fg_weak },
OilFile = { fg = c.fg },
OilFileIcon = { fg = c.fg },
OilSize = { fg = c.fg_weak },
OilPermissionNone = { fg = c.fg_weaker },
OilPermissionRead = { fg = c.success },
OilPermissionWrite = { fg = c.alert },
OilPermissionExecute = { fg = c.modified },
OilCopy = { fg = c.success, bold = true },
OilMove = { fg = c.modified, bold = true },
OilCreate = { fg = c.success, bold = true },
OilDelete = { fg = c.fail, bold = true },
OilChange = { fg = c.modified, bold = true },
OilRestore = { fg = c.success },
OilPurge = { fg = c.alert_strong, bold = true },
OilTrash = { fg = c.fail },
OilTrashSourcePath = { fg = c.fg_weak, italic = true },
-- ============================================================================
-- Comment.nvim
-- ============================================================================
-- Uses default Comment group
-- ============================================================================
-- nvim-surround
-- ============================================================================
-- Uses default highlighting
-- ============================================================================
-- nvim-autopairs
-- ============================================================================
-- Uses default highlighting
-- ============================================================================
-- indent-blankline.nvim
-- ============================================================================
IblIndent = { fg = c.fg_weaker },
IblScope = { fg = c.fg_weak },
-- ============================================================================
-- nvim-ufo (folding)
-- ============================================================================
UfoFoldedBg = { bg = c.bg_hl_weak },
UfoFoldedFg = { fg = c.fg_weak },
UfoCursorFoldedLine = { bg = c.bg_hl, fg = c.fg },
UfoPreviewBorder = { fg = c.fg_weak },
UfoPreviewNormal = { bg = c.bg_ui },
UfoPreviewCursorLine = { bg = c.bg_hl },
-- ============================================================================
-- undotree
-- ============================================================================
-- Uses default highlighting (mainly reuses diff colors)
}