wip: rely on vim background for setting theme

This commit is contained in:
mvllow 2022-02-05 13:53:16 -06:00
commit 7618cf6f6e
5 changed files with 260 additions and 264 deletions

View file

@ -1 +1,3 @@
lua package.loaded['rose-pine.palette'] = nil
lua require('rose-pine').colorscheme()

View file

@ -1,35 +1,34 @@
local palette = require('rose-pine.palette')
local colors = palette[vim.g.rose_pine_variant or 'main']
local p = require('rose-pine.palette')
return {
normal = {
a = { bg = colors.rose, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.rose },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.rose, fg = p.base, gui = 'bold' },
b = { bg = p.overlay, fg = p.rose },
c = { bg = p.base, fg = p.text },
},
insert = {
a = { bg = colors.foam, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.foam },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.foam, fg = p.base, gui = 'bold' },
b = { bg = p.overlay, fg = p.foam },
c = { bg = p.base, fg = p.text },
},
visual = {
a = { bg = colors.iris, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.iris },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.iris, fg = p.base, gui = 'bold' },
b = { bg = p.overlay, fg = p.iris },
c = { bg = p.base, fg = p.text },
},
replace = {
a = { bg = colors.pine, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.pine },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.pine, fg = p.base, gui = 'bold' },
b = { bg = p.overlay, fg = p.pine },
c = { bg = p.base, fg = p.text },
},
command = {
a = { bg = colors.love, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.love },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.love, fg = p.base, gui = 'bold' },
b = { bg = p.overlay, fg = p.love },
c = { bg = p.base, fg = p.text },
},
inactive = {
a = { bg = colors.base, fg = colors.muted, gui = 'bold' },
b = { bg = colors.base, fg = colors.muted },
c = { bg = colors.base, fg = colors.muted },
a = { bg = p.base, fg = p.muted, gui = 'bold' },
b = { bg = p.base, fg = p.muted },
c = { bg = p.base, fg = p.muted },
},
}

View file

@ -1,5 +1,3 @@
local palette = require('rose-pine.palette')
local M = {}
---@class RosePineConfig
@ -47,6 +45,7 @@ local config = {}
---@param opts RosePineConfig
function M.setup(opts)
opts = opts or {}
vim.g.rose_pine_variant = opts.variant or 'main'
local default_config = {
@ -112,22 +111,12 @@ function M.colorscheme()
vim.opt.termguicolors = true
vim.g.colors_name = 'rose-pine'
-- match variant to vim background
if config.user_variant == nil and vim.o.background == 'light' then
config.variant = 'dawn'
end
-- match vim background to variant
if config.user_variant == 'main' or config.user_variant == 'moon' then
vim.o.background = 'dark'
elseif config.user_variant == 'dawn' then
vim.o.background = 'light'
end
---@param color string
local function get_palette_color(color)
local p = require('rose-pine.palette')
if color and not color:find('#') then
return palette[config.variant][color:lower()]
return p[color:lower()]
end
return color:lower()

View file

@ -1,6 +1,4 @@
local palette = {}
palette = {
local variants = {
main = {
base = '#191724',
surface = '#1f1d2e',
@ -57,6 +55,14 @@ palette = {
},
}
local palette = {}
if vim.o.background == 'light' then
palette = variants.dawn
else
palette = variants[(vim.g.rose_pine_variant == 'moon' and 'moon') or 'main']
end
vim.tbl_deep_extend('force', palette, { none = 'NONE' })
return palette

View file

@ -1,124 +1,124 @@
local palette = require('rose-pine.palette')
local blend = require('rose-pine.util').blend
local M = {}
function M.get(config)
local p = require('rose-pine.palette')
local theme = {}
local groups = config.groups
local colors = palette[config.variant or 'main']
local groups = config.groups or {}
local styles = {
italic = (config.disable_italics and 'italic') or 'NONE',
vert_split = (config.bold_vert_split and colors.surface) or colors.none,
background = (config.disable_background and colors.none) or colors.base,
float_background = (config.disable_float_background and colors.none) or colors.surface,
inactive_background = (config.dim_nc_background and colors.surface) or colors.base,
vert_split = (config.bold_vert_split and p.surface) or p.none,
background = (config.disable_background and p.none) or p.base,
float_background = (config.disable_float_background and p.none) or p.surface,
inactive_background = (config.dim_nc_background and p.surface) or p.base,
}
theme = {
ColorColumn = { bg = colors.highlight_high },
Conceal = { bg = colors.none },
ColorColumn = { bg = p.highlight_high },
Conceal = { bg = p.none },
-- Cursor = {},
CursorColumn = { bg = colors.overlay },
CursorColumn = { bg = p.overlay },
-- CursorIM = {},
CursorLine = { bg = colors.overlay },
CursorLineNr = { fg = colors.text },
DarkenedPanel = { bg = colors.surface },
DarkenedStatusline = { bg = colors.surface },
DiffAdd = { bg = blend(groups.git_add, colors.base, 0.5) },
DiffChange = { bg = colors.overlay },
DiffDelete = { bg = blend(groups.git_delete, colors.base, 0.5) },
DiffText = { bg = blend(groups.git_text, colors.base, 0.5) },
CursorLine = { bg = p.overlay },
CursorLineNr = { fg = p.text },
DarkenedPanel = { bg = p.surface },
DarkenedStatusline = { bg = p.surface },
DiffAdd = { bg = blend(groups.git_add, p.base, 0.5) },
DiffChange = { bg = p.overlay },
DiffDelete = { bg = blend(groups.git_delete, p.base, 0.5) },
DiffText = { bg = blend(groups.git_text, p.base, 0.5) },
diffAdded = { link = 'DiffAdd' },
diffChanged = { link = 'DiffChange' },
diffRemoved = { link = 'DiffDelete' },
Directory = { fg = colors.foam, bg = colors.none },
Directory = { fg = p.foam, bg = p.none },
-- EndOfBuffer = {},
ErrorMsg = { fg = colors.love, style = 'bold' },
ErrorMsg = { fg = p.love, style = 'bold' },
FloatBorder = { fg = groups.border },
FoldColumn = { fg = colors.muted },
Folded = { fg = colors.text, bg = colors.surface },
IncSearch = { fg = colors.base, bg = colors.rose },
LineNr = { fg = colors.muted },
MatchParen = { fg = colors.text, bg = colors.highlight_med },
ModeMsg = { fg = colors.subtle },
MoreMsg = { fg = colors.iris },
NonText = { fg = colors.muted },
Normal = { fg = colors.text, bg = styles.background },
NormalFloat = { fg = colors.text, bg = styles.float_background },
NormalNC = { fg = colors.text, bg = styles.inactive_background },
NvimInternalError = { fg = '#ffffff', bg = colors.love },
Pmenu = { fg = colors.subtle, bg = styles.float_background },
PmenuSbar = { bg = colors.highlight_low },
PmenuSel = { fg = colors.text, bg = colors.overlay },
PmenuThumb = { bg = colors.highlight_med },
Question = { fg = colors.gold },
FoldColumn = { fg = p.muted },
Folded = { fg = p.text, bg = p.surface },
IncSearch = { fg = p.base, bg = p.rose },
LineNr = { fg = p.muted },
MatchParen = { fg = p.text, bg = p.highlight_med },
ModeMsg = { fg = p.subtle },
MoreMsg = { fg = p.iris },
NonText = { fg = p.muted },
Normal = { fg = p.text, bg = styles.background },
NormalFloat = { fg = p.text, bg = styles.float_background },
NormalNC = { fg = p.text, bg = styles.inactive_background },
NvimInternalError = { fg = '#ffffff', bg = p.love },
Pmenu = { fg = p.subtle, bg = styles.float_background },
PmenuSbar = { bg = p.highlight_low },
PmenuSel = { fg = p.text, bg = p.overlay },
PmenuThumb = { bg = p.highlight_med },
Question = { fg = p.gold },
-- QuickFixLine = {},
-- RedrawDebugNormal = {}
RedrawDebugClear = { fg = '#ffffff', bg = colors.gold },
RedrawDebugComposed = { fg = '#ffffff', bg = colors.pine },
RedrawDebugRecompose = { fg = '#ffffff', bg = colors.love },
Search = { bg = colors.highlight_med },
SpecialKey = { fg = colors.foam },
SpellBad = { sp = colors.love, style = 'undercurl' },
SpellCap = { sp = colors.subtle, style = 'undercurl' },
SpellLocal = { sp = colors.subtle, style = 'undercurl' },
SpellRare = { sp = colors.subtle, style = 'undercurl' },
SignColumn = { fg = colors.text, bg = styles.background },
StatusLine = { fg = colors.subtle, bg = colors.surface },
StatusLineNC = { fg = colors.muted, bg = colors.base },
RedrawDebugClear = { fg = '#ffffff', bg = p.gold },
RedrawDebugComposed = { fg = '#ffffff', bg = p.pine },
RedrawDebugRecompose = { fg = '#ffffff', bg = p.love },
Search = { bg = p.highlight_med },
SpecialKey = { fg = p.foam },
SpellBad = { sp = p.love, style = 'undercurl' },
SpellCap = { sp = p.subtle, style = 'undercurl' },
SpellLocal = { sp = p.subtle, style = 'undercurl' },
SpellRare = { sp = p.subtle, style = 'undercurl' },
SignColumn = { fg = p.text, bg = styles.background },
StatusLine = { fg = p.subtle, bg = p.surface },
StatusLineNC = { fg = p.muted, bg = p.base },
StatusLineTerm = { link = 'StatusLine' },
StatusLineTermNC = { link = 'StatusLineNC' },
TabLine = { fg = colors.subtle, bg = colors.surface },
TabLineFill = { bg = colors.surface },
TabLineSel = { fg = colors.text, bg = colors.overlay },
Title = { fg = colors.text },
VertSplit = { fg = colors.overlay, bg = styles.vert_split },
Visual = { bg = colors.highlight_med },
TabLine = { fg = p.subtle, bg = p.surface },
TabLineFill = { bg = p.surface },
TabLineSel = { fg = p.text, bg = p.overlay },
Title = { fg = p.text },
VertSplit = { fg = p.overlay, bg = styles.vert_split },
Visual = { bg = p.highlight_med },
-- VisualNOS = {},
WarningMsg = { fg = colors.gold },
WarningMsg = { fg = p.gold },
-- Whitespace = {},
-- WildMenu = {},
Boolean = { fg = colors.rose },
Character = { fg = colors.gold },
Boolean = { fg = p.rose },
Character = { fg = p.gold },
Comment = { fg = groups.comment, style = styles.italic },
Conditional = { fg = colors.pine },
Constant = { fg = colors.gold },
Debug = { fg = colors.rose },
Define = { fg = colors.iris },
Delimiter = { fg = colors.subtle },
Error = { fg = colors.love },
Exception = { fg = colors.pine },
Float = { fg = colors.gold },
Function = { fg = colors.rose },
Identifier = { fg = colors.rose },
Conditional = { fg = p.pine },
Constant = { fg = p.gold },
Debug = { fg = p.rose },
Define = { fg = p.iris },
Delimiter = { fg = p.subtle },
Error = { fg = p.love },
Exception = { fg = p.pine },
Float = { fg = p.gold },
Function = { fg = p.rose },
Identifier = { fg = p.rose },
-- Ignore = {},
Include = { fg = colors.iris },
Keyword = { fg = colors.pine },
Label = { fg = colors.foam },
Macro = { fg = colors.iris },
Number = { fg = colors.gold },
Operator = { fg = colors.subtle },
PreCondit = { fg = colors.iris },
PreProc = { fg = colors.iris },
Repeat = { fg = colors.pine },
Special = { fg = colors.rose },
SpecialChar = { fg = colors.rose },
SpecialComment = { fg = colors.iris },
Statement = { fg = colors.pine },
StorageClass = { fg = colors.foam },
String = { fg = colors.gold },
Structure = { fg = colors.foam },
Tag = { fg = colors.rose },
Todo = { fg = colors.iris },
Type = { fg = colors.foam },
Typedef = { fg = colors.foam },
Include = { fg = p.iris },
Keyword = { fg = p.pine },
Label = { fg = p.foam },
Macro = { fg = p.iris },
Number = { fg = p.gold },
Operator = { fg = p.subtle },
PreCondit = { fg = p.iris },
PreProc = { fg = p.iris },
Repeat = { fg = p.pine },
Special = { fg = p.rose },
SpecialChar = { fg = p.rose },
SpecialComment = { fg = p.iris },
Statement = { fg = p.pine },
StorageClass = { fg = p.foam },
String = { fg = p.gold },
Structure = { fg = p.foam },
Tag = { fg = p.rose },
Todo = { fg = p.iris },
Type = { fg = p.foam },
Typedef = { fg = p.foam },
Underlined = { style = 'underline' },
htmlArg = { fg = colors.iris },
htmlArg = { fg = p.iris },
htmlBold = { style = 'bold' },
htmlEndTag = { fg = colors.subtle },
htmlEndTag = { fg = p.subtle },
htmlH1 = { fg = groups.headings.h1, style = 'bold' },
htmlH2 = { fg = groups.headings.h2, style = 'bold' },
htmlH3 = { fg = groups.headings.h3, style = 'bold' },
@ -126,11 +126,11 @@ function M.get(config)
htmlH5 = { fg = groups.headings.h5, style = 'bold' },
htmlItalic = { style = styles.italic },
htmlLink = { fg = groups.link },
htmlTag = { fg = colors.subtle },
htmlTagN = { fg = colors.text },
htmlTagName = { fg = colors.foam },
htmlTag = { fg = p.subtle },
htmlTagN = { fg = p.text },
htmlTagName = { fg = p.foam },
markdownDelimiter = { fg = colors.subtle },
markdownDelimiter = { fg = p.subtle },
markdownH1 = { fg = groups.headings.h1, style = 'bold' },
markdownH1Delimiter = { link = 'markdownH1' },
markdownH2 = { fg = groups.headings.h2, style = 'bold' },
@ -146,17 +146,17 @@ function M.get(config)
markdownLinkText = { fg = groups.link, style = 'underline' },
markdownUrl = { link = 'markdownLinkText' },
mkdCode = { fg = colors.foam, style = styles.italic },
mkdCodeDelimiter = { fg = colors.rose },
mkdCodeEnd = { fg = colors.foam },
mkdCodeStart = { fg = colors.foam },
mkdFootnotes = { fg = colors.foam },
mkdID = { fg = colors.foam, style = 'underline' },
mkdCode = { fg = p.foam, style = styles.italic },
mkdCodeDelimiter = { fg = p.rose },
mkdCodeEnd = { fg = p.foam },
mkdCodeStart = { fg = p.foam },
mkdFootnotes = { fg = p.foam },
mkdID = { fg = p.foam, style = 'underline' },
mkdInlineURL = { fg = groups.link, style = 'underline' },
mkdLink = { link = 'mkdInlineURL' },
mkdLinkDef = { link = 'mkdInlineURL' },
mkdListItemLine = { fg = colors.text },
mkdRule = { fg = colors.subtle },
mkdListItemLine = { fg = p.text },
mkdRule = { fg = p.subtle },
mkdURL = { link = 'mkdInlineURL' },
DiagnosticError = { fg = groups.error },
@ -189,70 +189,70 @@ function M.get(config)
TSCharacter = { link = 'Character' },
TSComment = { link = 'Comment' },
TSConditional = { link = 'Conditional' },
TSConstBuiltin = { fg = colors.love },
TSConstBuiltin = { fg = p.love },
-- TSConstMacro = {},
TSConstant = { fg = colors.foam },
TSConstructor = { fg = colors.foam },
TSConstant = { fg = p.foam },
TSConstructor = { fg = p.foam },
-- TSEmphasis = {},
-- TSError = {},
-- TSException = {},
TSField = { fg = colors.foam },
TSField = { fg = p.foam },
-- TSFloat = {},
TSFuncBuiltin = { fg = colors.love },
TSFuncBuiltin = { fg = p.love },
-- TSFuncMacro = {},
TSFunction = { fg = colors.rose },
TSInclude = { fg = colors.pine },
TSKeyword = { fg = colors.pine },
TSFunction = { fg = p.rose },
TSInclude = { fg = p.pine },
TSKeyword = { fg = p.pine },
-- TSKeywordFunction = {},
TSKeywordOperator = { fg = colors.subtle },
TSLabel = { fg = colors.foam },
TSKeywordOperator = { fg = p.subtle },
TSLabel = { fg = p.foam },
-- TSLiteral = {},
-- TSMethod = {},
-- TSNamespace = {},
-- TSNone = {},
TSNumber = { link = 'Number' },
TSOperator = { fg = colors.subtle },
TSParameter = { fg = colors.iris, style = styles.italic },
TSOperator = { fg = p.subtle },
TSParameter = { fg = p.iris, style = styles.italic },
-- TSParameterReference = {},
TSProperty = { fg = colors.iris, style = styles.italic },
TSProperty = { fg = p.iris, style = styles.italic },
TSPunctBracket = { fg = groups.punctuation },
TSPunctDelimiter = { fg = groups.punctuation },
TSPunctSpecial = { fg = groups.punctuation },
-- TSRepeat = {},
-- TSStrike = {},
TSString = { link = 'String' },
TSStringEscape = { fg = colors.pine },
TSStringEscape = { fg = p.pine },
-- TSStringRegex = {},
TSStringSpecial = { link = 'TSString' },
-- TSSymbol = {},
TSTag = { fg = colors.foam },
TSTagDelimiter = { fg = colors.subtle },
TSText = { fg = colors.text },
TSTag = { fg = p.foam },
TSTagDelimiter = { fg = p.subtle },
TSText = { fg = p.text },
TSTitle = { fg = groups.headings.h1, style = 'bold' },
TSType = { link = 'Type' },
-- TSTypeBuiltin = {},
TSURI = { fg = groups.link },
-- TSUnderline = {},
TSVariable = { fg = colors.text, style = styles.italic },
TSVariableBuiltin = { fg = colors.love },
TSVariable = { fg = p.text, style = styles.italic },
TSVariableBuiltin = { fg = p.love },
-- romgrk/barbar.nvim
BufferCurrent = { fg = colors.text, bg = colors.overlay },
BufferCurrentIndex = { fg = colors.text, bg = colors.overlay },
BufferCurrentMod = { fg = colors.foam, bg = colors.overlay },
BufferCurrentSign = { fg = colors.subtle, bg = colors.overlay },
BufferCurrentTarget = { fg = colors.gold, bg = colors.overlay },
BufferInactive = { fg = colors.subtle },
BufferInactiveIndex = { fg = colors.subtle },
BufferInactiveMod = { fg = colors.foam },
BufferInactiveSign = { fg = colors.muted },
BufferInactiveTarget = { fg = colors.gold },
BufferTabpageFill = { fg = colors.base, bg = colors.base },
BufferVisible = { fg = colors.subtle },
BufferVisibleIndex = { fg = colors.subtle },
BufferVisibleMod = { fg = colors.foam },
BufferVisibleSign = { fg = colors.muted },
BufferVisibleTarget = { fg = colors.gold },
BufferCurrent = { fg = p.text, bg = p.overlay },
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
BufferCurrentTarget = { fg = p.gold, bg = p.overlay },
BufferInactive = { fg = p.subtle },
BufferInactiveIndex = { fg = p.subtle },
BufferInactiveMod = { fg = p.foam },
BufferInactiveSign = { fg = p.muted },
BufferInactiveTarget = { fg = p.gold },
BufferTabpageFill = { fg = p.base, bg = p.base },
BufferVisible = { fg = p.subtle },
BufferVisibleIndex = { fg = p.subtle },
BufferVisibleMod = { fg = p.foam },
BufferVisibleSign = { fg = p.muted },
BufferVisibleTarget = { fg = p.gold },
-- lewis6991/gitsigns.nvim
GitSignsAdd = { fg = groups.git_add },
@ -263,21 +263,21 @@ function M.get(config)
SignDelete = { link = 'GitSignsDelete' },
-- mvllow/modes.nvim
ModesCopy = { bg = colors.gold },
ModesDelete = { bg = colors.love },
ModesInsert = { bg = colors.foam },
ModesVisual = { bg = colors.iris },
ModesCopy = { bg = p.gold },
ModesDelete = { bg = p.love },
ModesInsert = { bg = p.foam },
ModesVisual = { bg = p.iris },
-- kyazdani42/nvim-tree.lua
NvimTreeEmptyFolderName = { fg = colors.muted },
NvimTreeFileDeleted = { fg = colors.love },
NvimTreeFileDirty = { fg = colors.rose },
NvimTreeFileMerge = { fg = colors.iris },
NvimTreeFileNew = { fg = colors.foam },
NvimTreeFileRenamed = { fg = colors.pine },
NvimTreeFileStaged = { fg = colors.iris },
NvimTreeFolderIcon = { fg = colors.subtle },
NvimTreeFolderName = { fg = colors.foam },
NvimTreeEmptyFolderName = { fg = p.muted },
NvimTreeFileDeleted = { fg = p.love },
NvimTreeFileDirty = { fg = p.rose },
NvimTreeFileMerge = { fg = p.iris },
NvimTreeFileNew = { fg = p.foam },
NvimTreeFileRenamed = { fg = p.pine },
NvimTreeFileStaged = { fg = p.iris },
NvimTreeFolderIcon = { fg = p.subtle },
NvimTreeFolderName = { fg = p.foam },
NvimTreeGitDeleted = { fg = groups.git_delete },
NvimTreeGitDirty = { fg = groups.git_dirty },
NvimTreeGitIgnored = { fg = groups.git_ignore },
@ -285,57 +285,57 @@ function M.get(config)
NvimTreeGitNew = { fg = groups.git_add },
NvimTreeGitRenamed = { fg = groups.git_rename },
NvimTreeGitStaged = { fg = groups.git_stage },
NvimTreeImageFile = { fg = colors.text },
NvimTreeNormal = { fg = colors.text },
NvimTreeOpenedFile = { fg = colors.text, bg = colors.highlight_med },
NvimTreeOpenedFolderName = { fg = colors.foam },
NvimTreeRootFolder = { fg = colors.iris },
NvimTreeImageFile = { fg = p.text },
NvimTreeNormal = { fg = p.text },
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight_med },
NvimTreeOpenedFolderName = { fg = p.foam },
NvimTreeRootFolder = { fg = p.iris },
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
NvimTreeWindowPicker = { fg = colors.base, bg = colors.iris },
NvimTreeWindowPicker = { fg = p.base, bg = p.iris },
-- folke/which-key.nvim
WhichKey = { fg = colors.iris },
WhichKeyGroup = { fg = colors.foam },
WhichKeySeparator = { fg = colors.subtle },
WhichKeyDesc = { fg = colors.gold },
WhichKeyFloat = { bg = colors.surface },
WhichKeyValue = { fg = colors.rose },
WhichKey = { fg = p.iris },
WhichKeyGroup = { fg = p.foam },
WhichKeySeparator = { fg = p.subtle },
WhichKeyDesc = { fg = p.gold },
WhichKeyFloat = { bg = p.surface },
WhichKeyValue = { fg = p.rose },
-- luka-reineke/indent-blankline.nvim
IndentBlanklineChar = { fg = colors.muted },
IndentBlanklineChar = { fg = p.muted },
-- hrsh7th/nvim-cmp
CmpItemAbbr = { fg = colors.subtle },
CmpItemAbbrDeprecated = { fg = colors.subtle, style = 'strikethrough' },
CmpItemAbbrMatch = { fg = colors.text, style = 'bold' },
CmpItemAbbrMatchFuzzy = { fg = colors.text, style = 'bold' },
CmpItemKind = { fg = colors.iris },
CmpItemKindClass = { fg = colors.gold },
CmpItemKindFunction = { fg = colors.iris },
CmpItemKindInterface = { fg = colors.gold },
CmpItemKindMethod = { fg = colors.iris },
CmpItemKindSnippet = { fg = colors.iris },
CmpItemKindVariable = { fg = colors.foam },
CmpItemAbbr = { fg = p.subtle },
CmpItemAbbrDeprecated = { fg = p.subtle, style = 'strikethrough' },
CmpItemAbbrMatch = { fg = p.text, style = 'bold' },
CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' },
CmpItemKind = { fg = p.iris },
CmpItemKindClass = { fg = p.gold },
CmpItemKindFunction = { fg = p.iris },
CmpItemKindInterface = { fg = p.gold },
CmpItemKindMethod = { fg = p.iris },
CmpItemKindSnippet = { fg = p.iris },
CmpItemKindVariable = { fg = p.foam },
-- TimUntersberger/neogit
NeogitDiffAddHighlight = { fg = colors.foam, bg = colors.highlight_med },
NeogitDiffContextHighlight = { bg = colors.highlight_low },
NeogitDiffDeleteHighlight = { fg = colors.love, bg = colors.highlight_med },
NeogitHunkHeader = { bg = colors.highlight_low },
NeogitHunkHeaderHighlight = { bg = colors.highlight_low },
NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med },
NeogitDiffContextHighlight = { bg = p.highlight_low },
NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_med },
NeogitHunkHeader = { bg = p.highlight_low },
NeogitHunkHeaderHighlight = { bg = p.highlight_low },
-- vimwiki/vimwiki
VimwikiHR = { fg = colors.subtle },
VimwikiHR = { fg = p.subtle },
VimwikiHeader1 = { fg = groups.headings.h1, style = 'bold' },
VimwikiHeader2 = { fg = groups.headings.h2, style = 'bold' },
VimwikiHeader3 = { fg = groups.headings.h3, style = 'bold' },
VimwikiHeader4 = { fg = groups.headings.h4, style = 'bold' },
VimwikiHeader5 = { fg = groups.headings.h5, style = 'bold' },
VimwikiHeader6 = { fg = groups.headings.h6, style = 'bold' },
VimwikiHeaderChar = { fg = colors.pine },
VimwikiHeaderChar = { fg = p.pine },
VimwikiLink = { fg = groups.link, style = 'underline' },
VimwikiList = { fg = colors.iris },
VimwikiNoExistsLink = { fg = colors.love },
VimwikiList = { fg = p.iris },
VimwikiNoExistsLink = { fg = p.love },
-- nvim-neorg/neorg
NeorgHeading1Prefix = { fg = groups.headings.h1, style = 'bold' },
@ -350,72 +350,72 @@ function M.get(config)
NeorgHeading5Title = { link = 'NeorgHeading5Prefix' },
NeorgHeading6Prefix = { fg = groups.headings.h6, style = 'bold' },
NeorgHeading6Title = { link = 'NeorgHeading6Prefix' },
NeorgMarkerTitle = { fg = colors.text, style = 'bold' },
NeorgMarkerTitle = { fg = p.text, style = 'bold' },
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
DefinitionCount = { fg = colors.rose },
DefinitionIcon = { fg = colors.rose },
DefintionPreviewTitle = { fg = colors.rose, style = 'bold' },
DefinitionCount = { fg = p.rose },
DefinitionIcon = { fg = p.rose },
DefintionPreviewTitle = { fg = p.rose, style = 'bold' },
LspFloatWinBorder = { fg = groups.border },
LspFloatWinNormal = { bg = colors.base },
LspSagaAutoPreview = { fg = colors.subtle },
LspFloatWinNormal = { bg = p.base },
LspSagaAutoPreview = { fg = p.subtle },
LspSagaCodeActionBorder = { fg = groups.border },
LspSagaCodeActionContent = { fg = colors.foam },
LspSagaCodeActionTitle = { fg = colors.gold, style = 'bold' },
LspSagaCodeActionContent = { fg = p.foam },
LspSagaCodeActionTitle = { fg = p.gold, style = 'bold' },
LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' },
LspSagaDefPreviewBorder = { fg = groups.border },
LspSagaDiagnosticBorder = { fg = groups.border },
LspSagaDiagnosticHeader = { fg = colors.gold, style = 'bold' },
LspSagaDiagnosticHeader = { fg = p.gold, style = 'bold' },
LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' },
LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' },
LspSagaFinderSelection = { fg = colors.gold },
LspSagaFinderSelection = { fg = p.gold },
LspSagaHoverBorder = { fg = groups.border },
LspSagaLspFinderBorder = { fg = groups.border },
LspSagaRenameBorder = { fg = colors.pine },
LspSagaRenamePromptPrefix = { fg = colors.love },
LspSagaRenameBorder = { fg = p.pine },
LspSagaRenamePromptPrefix = { fg = p.love },
LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' },
LspSagaSignatureHelpBorder = { fg = colors.pine },
ReferencesCount = { fg = colors.rose },
ReferencesIcon = { fg = colors.rose },
SagaShadow = { bg = colors.overlay },
TargetWord = { fg = colors.iris },
LspSagaSignatureHelpBorder = { fg = p.pine },
ReferencesCount = { fg = p.rose },
ReferencesIcon = { fg = p.rose },
SagaShadow = { bg = p.overlay },
TargetWord = { fg = p.iris },
-- ray-x/lsp_signature.nvim
LspSignatureActiveParameter = { bg = colors.overlay },
LspSignatureActiveParameter = { bg = p.overlay },
-- rlane/pounce.nvim
PounceAccept = { fg = colors.love, bg = colors.highlight_high },
PounceAcceptBest = { fg = colors.base, bg = colors.gold },
PounceAccept = { fg = p.love, bg = p.highlight_high },
PounceAcceptBest = { fg = p.base, bg = p.gold },
PounceGap = { link = 'Search' },
PounceMatch = { link = 'Search' },
-- nvim-telescope/telescope.nvim
TelescopeBorder = { fg = groups.border },
TelescopeMatching = { fg = colors.rose },
TelescopeNormal = { fg = colors.subtle },
TelescopePromptNormal = { fg = colors.text },
TelescopePromptPrefix = { fg = colors.subtle },
TelescopeSelection = { fg = colors.text, bg = colors.overlay },
TelescopeSelectionCaret = { fg = colors.rose, bg = colors.overlay },
TelescopeTitle = { fg = colors.subtle },
TelescopeMatching = { fg = p.rose },
TelescopeNormal = { fg = p.subtle },
TelescopePromptNormal = { fg = p.text },
TelescopePromptPrefix = { fg = p.subtle },
TelescopeSelection = { fg = p.text, bg = p.overlay },
TelescopeSelectionCaret = { fg = p.rose, bg = p.overlay },
TelescopeTitle = { fg = p.subtle },
}
vim.g.terminal_color_0 = colors.overlay -- black
vim.g.terminal_color_8 = colors.subtle -- bright black
vim.g.terminal_color_1 = colors.love -- red
vim.g.terminal_color_9 = colors.love -- bright red
vim.g.terminal_color_2 = colors.pine -- green
vim.g.terminal_color_10 = colors.pine -- bright green
vim.g.terminal_color_3 = colors.gold -- yellow
vim.g.terminal_color_11 = colors.gold -- bright yellow
vim.g.terminal_color_4 = colors.foam -- blue
vim.g.terminal_color_12 = colors.foam -- bright blue
vim.g.terminal_color_5 = colors.iris -- magenta
vim.g.terminal_color_13 = colors.iris -- bright magenta
vim.g.terminal_color_6 = colors.rose -- cyan
vim.g.terminal_color_14 = colors.rose -- bright cyan
vim.g.terminal_color_7 = colors.text -- white
vim.g.terminal_color_15 = colors.text -- bright white
vim.g.terminal_color_0 = p.overlay -- black
vim.g.terminal_color_8 = p.subtle -- bright black
vim.g.terminal_color_1 = p.love -- red
vim.g.terminal_color_9 = p.love -- bright red
vim.g.terminal_color_2 = p.pine -- green
vim.g.terminal_color_10 = p.pine -- bright green
vim.g.terminal_color_3 = p.gold -- yellow
vim.g.terminal_color_11 = p.gold -- bright yellow
vim.g.terminal_color_4 = p.foam -- blue
vim.g.terminal_color_12 = p.foam -- bright blue
vim.g.terminal_color_5 = p.iris -- magenta
vim.g.terminal_color_13 = p.iris -- bright magenta
vim.g.terminal_color_6 = p.rose -- cyan
vim.g.terminal_color_14 = p.rose -- bright cyan
vim.g.terminal_color_7 = p.text -- white
vim.g.terminal_color_15 = p.text -- bright white
return theme
end