BREAKING!: rewrite config api and update styles

- move config to lua
- use rose for search match
- fix background flicker when automatically switching to dawn
- remove unneeded highlights (please report regressions)
  - remove deprecated `LspDiagnostics*`
  - remove `LspReference*`
- improve overall consistency between elements
  - non-treesitter updates to match treesitter styles
  - update popup menu scrollbar and selection
  - update telescope selection
  - match cursorcolumn to cursorline
This commit is contained in:
mvllow 2022-02-04 19:22:13 -06:00
commit b77bd8e7ce
9 changed files with 595 additions and 599 deletions

View file

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

View file

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

View file

@ -1,4 +1,5 @@
local p = require('rose-pine.palette') local palette = require('rose-pine.palette')
local colors = palette[vim.g.rose_pine_variant or 'main']
-- TODO: Someone who uses bufferline.nvim is free to PR with this addition -- TODO: Someone who uses bufferline.nvim is free to PR with this addition
-- `:h bufferline-highlights` -- `:h bufferline-highlights`
@ -13,11 +14,11 @@ local p = require('rose-pine.palette')
-- ``` -- ```
return { return {
fill = { fill = {
guifg = p.text, guifg = colors.text,
guibg = p.base, guibg = colors.base,
}, },
background = { background = {
guifg = p.text, guifg = colors.text,
guibg = p.base, guibg = colors.base,
}, },
} }

View file

@ -1,74 +0,0 @@
local palette = require('rose-pine.palette')
local function opt(key, default)
key = 'rose_pine_' .. key
if vim.g[key] == nil then
return default
end
if vim.g[key] == 0 or vim.g[key] == false then
return false
end
return vim.g[key]
end
local config = {
variant = opt('variant', 'main'),
bold_vertical_split_line = opt('bold_vertical_split_line', false),
disable_italics = opt('disable_italics', false),
disable_background = opt('disable_background', false),
disable_float_background = opt('disable_float_background', false),
inactive_background = opt('inactive_background', false),
colors = {
border = palette.highlight_med,
comment = palette.muted,
link = palette.iris,
punctuation = palette.subtle,
error = palette.love,
hint = palette.iris,
info = palette.foam,
warn = palette.gold,
git_add = palette.foam,
git_change = palette.rose,
git_delete = palette.love,
git_dirty = palette.rose,
git_ignore = palette.muted,
git_merge = palette.iris,
git_rename = palette.pine,
git_stage = palette.iris,
git_text = palette.rose,
---@type string|table<string, string>
headings = {
h1 = palette.iris,
h2 = palette.foam,
h3 = palette.rose,
h4 = palette.gold,
h5 = palette.pine,
h6 = palette.foam,
},
},
}
local colors = vim.g.rose_pine_colors or {}
if type(colors.headings) == 'string' then
colors.headings = {
h1 = colors.headings,
h2 = colors.headings,
h3 = colors.headings,
h4 = colors.headings,
h5 = colors.headings,
h6 = colors.headings,
}
end
config.colors = vim.tbl_deep_extend('force', config.colors, colors)
return config

View file

@ -4,16 +4,17 @@ if not present then
end end
local palette = require('rose-pine.palette') local palette = require('rose-pine.palette')
local colors = palette[vim.g.rose_pine_variant or 'main']
galaxyline_colors['rose-pine'] = { galaxyline_colors['rose-pine'] = {
bg = palette.overlay, bg = colors.overlay,
fg = palette.text, fg = colors.text,
fg_alt = palette.subtle, fg_alt = colors.subtle,
blue = palette.foam, blue = colors.foam,
cyan = palette.foam, cyan = colors.foam,
green = palette.muted, green = colors.muted,
magenta = palette.iris, magenta = colors.iris,
orange = palette.rose, orange = colors.rose,
red = palette.love, red = colors.love,
yellow = palette.gold, yellow = colors.gold,
} }

View file

@ -1,5 +1,112 @@
local palette = require('rose-pine.palette')
local M = {} local M = {}
---@class RosePineConfig
---@field variant 'main'|'moon'|'dawn'
---@field bold_vert_split boolean
---@field dim_nc_background boolean
---@field disable_background boolean
---@field disable_float_background boolean
---@field disable_italics boolean
---@field groups RosePineGroups
---@class RosePineGroups
---@field border string
---@field comment string
---@field link string
---@field punctuation string
---@field error string
---@field hint string
---@field info string
---@field warn string
---@field git RosePineGit
---@field headings string|RosePineHeadings
---@class RosePineGit
---@field add string
---@field change string
---@field delete string
---@field dirty string
---@field ignore string
---@field merge string
---@field rename string
---@field stage string
---@field text string
---@class RosePineHeadings
---@field h1 string
---@field h2 string
---@field h3 string
---@field h4 string
---@field h5 string
---@field h6 string
---@type RosePineConfig
local config = {}
---@param opts RosePineConfig
function M.setup(opts)
vim.g.rose_pine_variant = opts.variant or 'main'
local default_config = {
variant = 'main',
bold_vert_split = false,
dim_nc_background = false,
disable_background = false,
disable_float_background = false,
disable_italics = false,
groups = {
border = 'highlight_med',
comment = 'muted',
link = 'iris',
punctuation = 'subtle',
error = 'love',
hint = 'iris',
info = 'foam',
warn = 'gold',
git = {
add = 'foam',
change = 'rose',
delete = 'love',
dirty = 'rose',
ignore = 'muted',
merge = 'iris',
rename = 'pine',
stage = 'iris',
text = 'rose',
},
headings = {
h1 = 'iris',
h2 = 'foam',
h3 = 'rose',
h4 = 'gold',
h5 = 'pine',
h6 = 'foam',
},
},
}
local groups = opts.groups or {}
if type(groups.headings) == 'string' then
groups.headings = {
h1 = groups.headings,
h2 = groups.headings,
h3 = groups.headings,
h4 = groups.headings,
h5 = groups.headings,
h6 = groups.headings,
}
end
config.user_variant = opts.variant or nil
config = vim.tbl_deep_extend('force', default_config, opts)
end
function M.colorscheme() function M.colorscheme()
if vim.g.colors_name then if vim.g.colors_name then
vim.cmd('hi clear') vim.cmd('hi clear')
@ -8,20 +115,34 @@ function M.colorscheme()
vim.opt.termguicolors = true vim.opt.termguicolors = true
vim.g.colors_name = 'rose-pine' vim.g.colors_name = 'rose-pine'
-- Match terminal theme if no variant is set -- match variant to vim background
if vim.g.rose_pine_variant == nil and vim.o.background == 'light' then if config.user_variant == nil and vim.o.background == 'light' then
vim.g.rose_pine_variant = 'dawn' config.variant = 'dawn'
elseif vim.g.rose_pine_variant == 'dawn' then 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' vim.o.background = 'light'
end end
---@param color string
local function get_palette_color(color)
if color and not color:find('#') then
return palette[config.variant][color:lower()]
end
return color:lower()
end
---@param group string ---@param group string
---@param color table<string, string> ---@param color table<string, string>
local function highlight(group, color) local function highlight(group, color)
local style = color.style and 'gui=' .. color.style or 'gui=NONE' local style = color.style and 'gui=' .. color.style or 'gui=NONE'
local fg = color.fg and 'guifg=' .. color.fg or 'guifg=NONE' local fg = color.fg and 'guifg=' .. get_palette_color(color.fg) or 'guifg=NONE'
local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE' local bg = color.bg and 'guibg=' .. get_palette_color(color.bg) or 'guibg=NONE'
local sp = color.sp and 'guisp=' .. color.sp or '' local sp = color.sp and 'guisp=' .. get_palette_color(color.sp) or ''
local hl = 'highlight ' .. group .. ' ' .. style .. ' ' .. fg .. ' ' .. bg .. ' ' .. sp local hl = 'highlight ' .. group .. ' ' .. style .. ' ' .. fg .. ' ' .. bg .. ' ' .. sp
@ -31,15 +152,16 @@ function M.colorscheme()
end end
end end
for group, colors in pairs(require('rose-pine.theme')) do local theme = require('rose-pine.theme').get(config)
highlight(group, colors) for group, color in pairs(theme) do
highlight(group, color)
end end
require('rose-pine.galaxyline.theme') require('rose-pine.galaxyline.theme')
end end
function M.set(variant) function M.set(variant)
vim.g.rose_pine_variant = variant config.variant = variant
vim.cmd('colorscheme rose-pine') vim.cmd('colorscheme rose-pine')
end end
@ -52,7 +174,7 @@ function M.toggle(variants)
end end
if vim.g.rose_pine_current_variant == nil then if vim.g.rose_pine_current_variant == nil then
vim.g.rose_pine_current_variant = index[vim.g.rose_pine_variant] or 0 vim.g.rose_pine_current_variant = index[config.variant] or 0
end end
vim.g.rose_pine_current_variant = (vim.g.rose_pine_current_variant % #variants) + 1 vim.g.rose_pine_current_variant = (vim.g.rose_pine_current_variant % #variants) + 1

View file

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

View file

@ -1,469 +1,423 @@
local palette = require('rose-pine.palette') local palette = require('rose-pine.palette')
local config = require('rose-pine.config') local blend = require('rose-pine.util').blend
local util = require('rose-pine.util')
local group = config.colors local M = {}
local maybe_italic = 'italic' function M.get(config)
if config.disable_italics == true then local theme = {}
maybe_italic = nil local groups = config.groups
end local colors = palette[config.variant or 'main']
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,
}
local background = palette.base theme = {
if config.disable_background then ColorColumn = { bg = colors.highlight_high },
background = palette.none Conceal = { bg = colors.none },
end
local float_background = palette.surface
if config.disable_float_background then
float_background = palette.none
end
local inactive_background = palette.none
if config.inactive_background then
inactive_background = util.blend('#000000', palette.base, palette.opacity)
end
local vert_split_background = palette.none
if config.bold_vertical_split_line then
vert_split_background = palette.overlay
end
local theme = {
ColorColumn = { bg = palette.highlight_high },
Conceal = { bg = palette.none },
-- Cursor = {}, -- Cursor = {},
CursorColumn = { bg = group.border }, CursorColumn = { bg = colors.overlay },
-- CursorIM = {}, -- CursorIM = {},
CursorLine = { bg = palette.highlight_low }, CursorLine = { bg = colors.overlay },
CursorLineNr = { fg = palette.text }, CursorLineNr = { fg = colors.text },
DarkenedPanel = { bg = palette.surface }, DarkenedPanel = { bg = colors.surface },
DarkenedStatusline = { bg = palette.surface }, DarkenedStatusline = { bg = colors.surface },
DiffAdd = { bg = util.blend(group.git_add, palette.base, 0.5) }, DiffAdd = { bg = blend(groups.git.add, colors.base, 0.5) },
DiffChange = { bg = palette.overlay }, DiffChange = { bg = colors.overlay },
DiffDelete = { bg = util.blend(group.git_delete, palette.base, 0.5) }, DiffDelete = { bg = blend(groups.git.delete, colors.base, 0.5) },
DiffText = { bg = util.blend(group.git_text, palette.base, 0.5) }, DiffText = { bg = blend(groups.git.text, colors.base, 0.5) },
diffAdded = { link = 'DiffAdd' }, diffAdded = { link = 'DiffAdd' },
diffChanged = { link = 'DiffChange' }, diffChanged = { link = 'DiffChange' },
diffRemoved = { link = 'DiffDelete' }, diffRemoved = { link = 'DiffDelete' },
Directory = { fg = palette.foam, bg = palette.none }, Directory = { fg = colors.foam, bg = colors.none },
-- EndOfBuffer = {}, -- EndOfBuffer = {},
ErrorMsg = { fg = palette.love, style = 'bold' }, ErrorMsg = { fg = colors.love, style = 'bold' },
FloatBorder = { fg = group.border }, FloatBorder = { fg = groups.border },
FoldColumn = { fg = palette.muted }, FoldColumn = { fg = colors.muted },
Folded = { fg = palette.text, bg = palette.surface }, Folded = { fg = colors.text, bg = colors.surface },
IncSearch = { bg = palette.highlight_high }, IncSearch = { fg = colors.base, bg = colors.rose },
LineNr = { fg = palette.muted }, LineNr = { fg = colors.muted },
MatchParen = { fg = palette.text, bg = palette.highlight_med }, MatchParen = { fg = colors.text, bg = colors.highlight_med },
ModeMsg = { fg = palette.subtle }, ModeMsg = { fg = colors.subtle },
MoreMsg = { fg = palette.iris }, MoreMsg = { fg = colors.iris },
NonText = { fg = palette.muted }, NonText = { fg = colors.muted },
Normal = { fg = palette.text, bg = background }, Normal = { fg = colors.text, bg = styles.background },
NormalNC = { fg = palette.text, bg = inactive_background }, NormalFloat = { fg = colors.text, bg = styles.float_background },
NormalFloat = { fg = palette.text, bg = float_background }, NormalNC = { fg = colors.text, bg = styles.inactive_background },
Pmenu = { fg = palette.subtle, bg = float_background }, NvimInternalError = { fg = '#ffffff', bg = colors.love },
PmenuSbar = { bg = palette.overlay }, Pmenu = { fg = colors.subtle, bg = styles.float_background },
PmenuSel = { fg = palette.text, bg = palette.overlay }, PmenuSbar = { bg = colors.highlight_low },
PmenuThumb = { bg = palette.muted }, PmenuSel = { fg = colors.text, bg = colors.overlay },
Question = { fg = palette.gold }, PmenuThumb = { bg = colors.highlight_med },
Question = { fg = colors.gold },
-- QuickFixLine = {}, -- QuickFixLine = {},
Search = { bg = palette.highlight_med }, -- RedrawDebugNormal = {}
SpecialKey = { fg = palette.foam }, RedrawDebugClear = { fg = '#ffffff', bg = colors.gold },
SpellBad = { sp = palette.love, style = 'undercurl' }, RedrawDebugComposed = { fg = '#ffffff', bg = colors.pine },
SpellCap = { sp = palette.subtle, style = 'undercurl' }, RedrawDebugRecompose = { fg = '#ffffff', bg = colors.love },
SpellLocal = { sp = palette.subtle, style = 'undercurl' }, Search = { bg = colors.highlight_med },
SpellRare = { sp = palette.subtle, style = 'undercurl' }, SpecialKey = { fg = colors.foam },
SignColumn = { fg = palette.text, bg = background }, SpellBad = { sp = colors.love, style = 'undercurl' },
StatusLine = { fg = palette.subtle, bg = palette.surface }, SpellCap = { sp = colors.subtle, style = 'undercurl' },
StatusLineNC = { fg = palette.muted, bg = palette.base }, SpellLocal = { sp = colors.subtle, style = 'undercurl' },
-- StatusLineTerm = {}, SpellRare = { sp = colors.subtle, style = 'undercurl' },
-- StatusLineTermNC = {}, SignColumn = { fg = colors.text, bg = styles.background },
TabLine = { fg = palette.subtle, bg = palette.overlay }, StatusLine = { fg = colors.subtle, bg = colors.surface },
TabLineFill = { bg = palette.surface }, StatusLineNC = { fg = colors.muted, bg = colors.base },
TabLineSel = { fg = palette.text, bg = palette.muted }, StatusLineTerm = { link = 'StatusLine' },
Title = { fg = palette.text }, StatusLineTermNC = { link = 'StatusLineNC' },
VertSplit = { fg = palette.overlay, bg = vert_split_background }, TabLine = { fg = colors.subtle, bg = colors.surface },
Visual = { bg = palette.highlight_med }, 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 },
-- VisualNOS = {}, -- VisualNOS = {},
WarningMsg = { fg = palette.gold }, WarningMsg = { fg = colors.gold },
-- Whitespace = {}, -- Whitespace = {},
-- WildMenu = {}, -- WildMenu = {},
Boolean = { fg = palette.gold }, Boolean = { fg = colors.rose },
Character = { fg = palette.gold }, Character = { fg = colors.gold },
Comment = { fg = group.comment, style = maybe_italic }, Comment = { fg = groups.comment, style = styles.italic },
Conditional = { fg = palette.pine }, Conditional = { fg = colors.pine },
Constant = { fg = palette.gold }, Constant = { fg = colors.gold },
Debug = { fg = palette.rose }, Debug = { fg = colors.rose },
Define = { fg = palette.iris }, Define = { fg = colors.iris },
Delimiter = { fg = palette.subtle }, Delimiter = { fg = colors.subtle },
Error = { fg = palette.love }, Error = { fg = colors.love },
Exception = { fg = palette.pine }, Exception = { fg = colors.pine },
Float = { fg = palette.gold }, Float = { fg = colors.gold },
Function = { fg = palette.rose }, Function = { fg = colors.rose },
Identifier = { fg = palette.rose }, Identifier = { fg = colors.rose },
-- Ignore = {}, -- Ignore = {},
Include = { fg = palette.iris }, Include = { fg = colors.iris },
Keyword = { fg = palette.pine }, Keyword = { fg = colors.pine },
Label = { fg = palette.foam }, Label = { fg = colors.foam },
Macro = { fg = palette.iris }, Macro = { fg = colors.iris },
Number = { fg = palette.gold }, Number = { fg = colors.gold },
Operator = { fg = palette.subtle }, Operator = { fg = colors.subtle },
PreCondit = { fg = palette.iris }, PreCondit = { fg = colors.iris },
PreProc = { fg = palette.iris }, PreProc = { fg = colors.iris },
Repeat = { fg = palette.pine }, Repeat = { fg = colors.pine },
Special = { fg = palette.rose }, Special = { fg = colors.rose },
SpecialChar = { fg = palette.rose }, SpecialChar = { fg = colors.rose },
SpecialComment = { fg = palette.iris }, SpecialComment = { fg = colors.iris },
Statement = { fg = palette.pine }, Statement = { fg = colors.pine },
StorageClass = { fg = palette.foam }, StorageClass = { fg = colors.foam },
String = { fg = palette.gold }, String = { fg = colors.gold },
Structure = { fg = palette.foam }, Structure = { fg = colors.foam },
Tag = { fg = palette.rose }, Tag = { fg = colors.rose },
Todo = { fg = palette.iris }, Todo = { fg = colors.iris },
Type = { fg = palette.foam }, Type = { fg = colors.foam },
Typedef = { fg = palette.foam }, Typedef = { fg = colors.foam },
Underlined = { fg = palette.foam, style = 'underline' }, Underlined = { style = 'underline' },
htmlArg = { fg = palette.iris }, htmlArg = { fg = colors.iris },
htmlBold = { fg = palette.text, style = 'bold' }, htmlBold = { style = 'bold' },
htmlEndTag = { fg = palette.subtle }, htmlEndTag = { fg = colors.subtle },
htmlH1 = { fg = group.headings.h1, style = 'bold' }, htmlH1 = { fg = groups.headings.h1, style = 'bold' },
htmlH2 = { fg = group.headings.h2, style = 'bold' }, htmlH2 = { fg = groups.headings.h2, style = 'bold' },
htmlH3 = { fg = group.headings.h3, style = 'bold' }, htmlH3 = { fg = groups.headings.h3, style = 'bold' },
htmlH4 = { fg = group.headings.h4, style = 'bold' }, htmlH4 = { fg = groups.headings.h4, style = 'bold' },
htmlH5 = { fg = group.headings.h5, style = 'bold' }, htmlH5 = { fg = groups.headings.h5, style = 'bold' },
htmlItalic = { fg = palette.text, style = maybe_italic }, htmlItalic = { style = styles.italic },
htmlLink = { fg = group.link }, htmlLink = { fg = groups.link },
htmlTag = { fg = palette.subtle }, htmlTag = { fg = colors.subtle },
htmlTagN = { fg = palette.text }, htmlTagN = { fg = colors.text },
htmlTagName = { fg = palette.foam }, htmlTagName = { fg = colors.foam },
markdownH1 = { fg = group.headings.h1, style = 'bold' }, markdownDelimiter = { fg = colors.subtle },
markdownH1Delimiter = { fg = group.headings.h1 }, markdownH1 = { fg = groups.headings.h1, style = 'bold' },
markdownH2 = { fg = group.headings.h2, style = 'bold' }, markdownH1Delimiter = { link = 'markdownH1' },
markdownH2Delimiter = { fg = group.headings.h2 }, markdownH2 = { fg = groups.headings.h2, style = 'bold' },
markdownH3 = { fg = group.headings.h3, style = 'bold' }, markdownH2Delimiter = { link = 'markdownH2' },
markdownH3Delimiter = { fg = group.headings.h3 }, markdownH3 = { fg = groups.headings.h3, style = 'bold' },
markdownH4 = { fg = group.headings.h4, style = 'bold' }, markdownH3Delimiter = { link = 'markdownH3' },
markdownH4Delimiter = { fg = group.headings.h4 }, markdownH4 = { fg = groups.headings.h4, style = 'bold' },
markdownH5 = { fg = group.headings.h5, style = 'bold' }, markdownH4Delimiter = { link = 'markdownH4' },
markdownH5Delimiter = { fg = group.headings.h5 }, markdownH5 = { fg = groups.headings.h5, style = 'bold' },
markdownH6 = { fg = group.headings.h6, style = 'bold' }, markdownH5Delimiter = { link = 'markdownH5' },
markdownH6Delimiter = { fg = group.headings.h6 }, markdownH6 = { fg = groups.headings.h6, style = 'bold' },
markdownDelimiter = { fg = palette.subtle }, markdownH6Delimiter = { link = 'markdownH6' },
markdownLinkText = { fg = group.link, style = 'underline' }, markdownLinkText = { fg = groups.link, style = 'underline' },
markdownUrl = { fg = palette.iris, style = 'underline' }, markdownUrl = { link = 'markdownLinkText' },
mkdCode = { fg = palette.foam, style = maybe_italic },
mkdCodeDelimiter = { fg = palette.rose },
mkdCodeEnd = { fg = palette.foam },
mkdCodeStart = { fg = palette.foam },
mkdFootnotes = { fg = palette.foam },
mkdID = { fg = palette.foam, style = 'underline' },
mkdInlineURL = { fg = group.link, style = 'underline' },
mkdLink = { fg = group.link, style = 'underline' },
mkdLinkDef = { fg = group.link, style = 'underline' },
mkdListItemLine = { fg = palette.text },
mkdRule = { fg = palette.subtle },
mkdURL = { fg = palette.foam, style = 'underline' },
-- Fix background mismatch if user sets custom float background mkdCode = { fg = colors.foam, style = styles.italic },
-- In LSP hover float: (paramater) mkdCodeDelimiter = { fg = colors.rose },
-- ^ ^ mkdCodeEnd = { fg = colors.foam },
typescriptParens = { bg = palette.none }, mkdCodeStart = { fg = colors.foam },
mkdFootnotes = { fg = colors.foam },
mkdID = { fg = colors.foam, style = 'underline' },
mkdInlineURL = { fg = groups.link, style = 'underline' },
mkdLink = { link = 'mkdInlineURL' },
mkdLinkDef = { link = 'mkdInlineURL' },
mkdListItemLine = { fg = colors.text },
mkdRule = { fg = colors.subtle },
mkdURL = { link = 'mkdInlineURL' },
DiagnosticHint = { fg = group.hint }, DiagnosticError = { fg = groups.error },
DiagnosticInfo = { fg = group.info }, DiagnosticHint = { fg = groups.hint },
DiagnosticInformation = { link = 'DiagnosticInfo' }, DiagnosticInfo = { fg = groups.info },
DiagnosticWarn = { fg = group.warn }, DiagnosticWarn = { fg = groups.warn },
DiagnosticWarning = { link = 'DiagnosticWarn' }, DiagnosticDefaultError = { fg = groups.error },
DiagnosticError = { fg = group.error }, DiagnosticDefaultHint = { fg = groups.hint },
DiagnosticDefaultHint = { fg = group.hint }, DiagnosticDefaultInfo = { fg = groups.info },
DiagnosticDefaultInfo = { fg = group.info }, DiagnosticDefaultWarn = { fg = groups.warn },
DiagnosticDefaultWarn = { fg = group.warn }, DiagnosticFloatingError = { fg = groups.error },
DiagnosticDefaultError = { fg = group.error }, DiagnosticFloatingHint = { fg = groups.hint },
DiagnosticFloatingHint = { fg = group.hint }, DiagnosticFloatingInfo = { fg = groups.info },
DiagnosticFloatingInfo = { fg = group.info }, DiagnosticFloatingWarn = { fg = groups.warn },
DiagnosticFloatingWarn = { fg = group.warn }, DiagnosticSignError = { fg = groups.error },
DiagnosticFloatingError = { fg = group.error }, DiagnosticSignHint = { fg = groups.hint },
DiagnosticSignHint = { fg = group.hint }, DiagnosticSignInfo = { fg = groups.info },
DiagnosticSignInfo = { fg = group.info }, DiagnosticSignWarn = { fg = groups.warn },
DiagnosticSignWarn = { fg = group.warn }, DiagnosticUnderlineError = { sp = groups.error, style = 'undercurl' },
DiagnosticSignError = { fg = group.error }, DiagnosticUnderlineHint = { sp = groups.hint, style = 'undercurl' },
DiagnosticUnderlineHint = { sp = group.hint, style = 'undercurl' }, DiagnosticUnderlineInfo = { sp = groups.info, style = 'undercurl' },
DiagnosticUnderlineInfo = { sp = group.info, style = 'undercurl' }, DiagnosticUnderlineWarn = { sp = groups.warn, style = 'undercurl' },
DiagnosticUnderlineWarn = { sp = group.warn, style = 'undercurl' }, DiagnosticVirtualTextError = { fg = groups.error },
DiagnosticUnderlineError = { sp = group.error, style = 'undercurl' }, DiagnosticVirtualTextHint = { fg = groups.hint },
DiagnosticVirtualTextHint = { fg = group.hint }, DiagnosticVirtualTextInfo = { fg = groups.info },
DiagnosticVirtualTextInfo = { fg = group.info }, DiagnosticVirtualTextWarn = { fg = groups.warn },
DiagnosticVirtualTextWarn = { fg = group.warn },
DiagnosticVirtualTextError = { fg = group.error },
LspReferenceText = { fg = palette.rose, bg = palette.highlight_med },
LspReferenceRead = { fg = palette.rose, bg = palette.highlight_med },
LspReferenceWrite = { fg = palette.rose, bg = palette.highlight_med },
-- TODO: Deprecate in favour of 0.6.0 groups
LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' },
LspDiagnosticsDefaultWarning = { link = 'DiagnosticDefaultWarn' },
LspDiagnosticsFloatingWarning = { link = 'DiagnosticFloatingWarn' },
LspDiagnosticsVirtualTextWarning = { link = 'DiagnosticVirtualTextWarn' },
LspDiagnosticsUnderlineWarning = { link = 'DiagnosticUnderlineWarn' },
LspDiagnosticsSignHint = { link = 'DiagnosticSignHint' },
LspDiagnosticsDefaultHint = { link = 'DiagnosticDefaultHint' },
LspDiagnosticsVirtualTextHint = { link = 'DiagnosticFloatingHint' },
LspDiagnosticsFloatingHint = { link = 'DiagnosticVirtualTextHint' },
LspDiagnosticsUnderlineHint = { link = 'DiagnosticUnderlineHint' },
LspDiagnosticsSignError = { link = 'DiagnosticSignError' },
LspDiagnosticsDefaultError = { link = 'DiagnosticDefaultError' },
LspDiagnosticsFloatingError = { link = 'DiagnosticFloatingError' },
LspDiagnosticsVirtualTextError = { link = 'DiagnosticVirtualTextError' },
LspDiagnosticsUnderlineError = { link = 'DiagnosticUnderlineError' },
LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' },
LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' },
LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' },
LspDiagnosticsVirtualTextInformation = { link = 'DiagnosticVirtualTextInfo' },
LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' },
-- RedrawDebugNormal
RedrawDebugClear = { fg = '#ffffff', bg = palette.gold },
RedrawDebugComposed = { fg = '#ffffff', bg = palette.pine },
RedrawDebugRecompose = { fg = '#ffffff', bg = palette.love },
NvimInternalError = { fg = '#ffffff', bg = palette.love },
-- TSAnnotation = {},
-- TSAttribute = {}, -- TSAttribute = {},
TSBoolean = { fg = palette.rose }, TSBoolean = { link = 'Boolean' },
-- TSCharacter = {}, TSCharacter = { link = 'Character' },
TSComment = { fg = group.comment, style = maybe_italic }, TSComment = { link = 'Comment' },
-- TSConditional = {}, TSConditional = { link = 'Conditional' },
TSConstBuiltin = { fg = palette.love }, TSConstBuiltin = { fg = colors.love },
-- TSConstMacro = {}, -- TSConstMacro = {},
TSConstant = { fg = palette.foam }, TSConstant = { fg = colors.foam },
TSConstructor = { fg = palette.foam }, TSConstructor = { fg = colors.foam },
-- TSEmphasis = {}, -- TSEmphasis = {},
-- TSError = {}, -- TSError = {},
-- TSException = {}, -- TSException = {},
TSField = { fg = palette.foam }, TSField = { fg = colors.foam },
-- TSFloat = {}, -- TSFloat = {},
TSFuncBuiltin = { fg = palette.love }, TSFuncBuiltin = { fg = colors.love },
-- TSFuncMacro = {}, -- TSFuncMacro = {},
TSFunction = { fg = palette.rose }, TSFunction = { fg = colors.rose },
TSInclude = { fg = palette.pine }, TSInclude = { fg = colors.pine },
TSKeyword = { fg = palette.pine }, TSKeyword = { fg = colors.pine },
-- TSKeywordFunction = {}, -- TSKeywordFunction = {},
TSKeywordOperator = { fg = palette.subtle }, TSKeywordOperator = { fg = colors.subtle },
TSLabel = { fg = palette.foam }, TSLabel = { fg = colors.foam },
-- TSLiteral = {}, -- TSLiteral = {},
-- TSMethod = {}, -- TSMethod = {},
-- TSNamespace = {}, -- TSNamespace = {},
-- TSNone = {}, -- TSNone = {},
-- TSNumber = {}, TSNumber = { link = 'Number' },
TSOperator = { fg = palette.subtle }, TSOperator = { fg = colors.subtle },
TSParameter = { fg = palette.iris, style = maybe_italic }, TSParameter = { fg = colors.iris, style = styles.italic },
-- TSParameterReference = {}, -- TSParameterReference = {},
TSProperty = { fg = palette.iris, style = maybe_italic }, TSProperty = { fg = colors.iris, style = styles.italic },
TSPunctBracket = { fg = group.punctuation }, TSPunctBracket = { fg = groups.punctuation },
TSPunctDelimiter = { fg = group.punctuation }, TSPunctDelimiter = { fg = groups.punctuation },
TSPunctSpecial = { fg = group.punctuation }, TSPunctSpecial = { fg = groups.punctuation },
-- TSRepeat = {}, -- TSRepeat = {},
-- TSStrike = {}, -- TSStrike = {},
TSString = { fg = palette.gold }, TSString = { link = 'String' },
TSStringEscape = { fg = palette.pine }, TSStringEscape = { fg = colors.pine },
-- TSStringRegex = {}, -- TSStringRegex = {},
TSStringSpecial = { link = 'TSString' }, TSStringSpecial = { link = 'TSString' },
-- TSSymbol = {}, -- TSSymbol = {},
TSTag = { fg = palette.foam }, TSTag = { fg = colors.foam },
TSTagDelimiter = { fg = palette.subtle }, TSTagDelimiter = { fg = colors.subtle },
TSText = { fg = palette.text }, TSText = { fg = colors.text },
TSTitle = { fg = group.headings.h1, style = 'bold' }, TSTitle = { fg = groups.headings.h1, style = 'bold' },
-- TSType = {}, TSType = { link = 'Type' },
-- TSTypeBuiltin = {}, -- TSTypeBuiltin = {},
TSURI = { fg = palette.gold }, TSURI = { fg = groups.link },
-- TSUnderline = {}, -- TSUnderline = {},
TSVariable = { fg = palette.text, style = maybe_italic }, TSVariable = { fg = colors.text, style = styles.italic },
TSVariableBuiltin = { fg = palette.love }, TSVariableBuiltin = { fg = colors.love },
-- romgrk/barbar.nvim -- romgrk/barbar.nvim
BufferTabpageFill = { fg = palette.base, bg = palette.base }, BufferCurrent = { fg = colors.text, bg = colors.overlay },
BufferCurrent = { fg = palette.text, bg = palette.overlay }, BufferCurrentIndex = { fg = colors.text, bg = colors.overlay },
BufferCurrentIndex = { fg = palette.text, bg = palette.overlay }, BufferCurrentMod = { fg = colors.foam, bg = colors.overlay },
BufferCurrentMod = { fg = palette.foam, bg = palette.overlay }, BufferCurrentSign = { fg = colors.subtle, bg = colors.overlay },
BufferCurrentSign = { fg = palette.subtle, bg = palette.overlay }, BufferCurrentTarget = { fg = colors.gold, bg = colors.overlay },
BufferCurrentTarget = { fg = palette.gold, bg = palette.overlay }, BufferInactive = { fg = colors.subtle },
BufferInactive = { fg = palette.subtle }, BufferInactiveIndex = { fg = colors.subtle },
BufferInactiveIndex = { fg = palette.subtle }, BufferInactiveMod = { fg = colors.foam },
BufferInactiveMod = { fg = palette.foam }, BufferInactiveSign = { fg = colors.muted },
BufferInactiveSign = { fg = palette.muted }, BufferInactiveTarget = { fg = colors.gold },
BufferInactiveTarget = { fg = palette.gold }, BufferTabpageFill = { fg = colors.base, bg = colors.base },
BufferVisible = { fg = palette.subtle }, BufferVisible = { fg = colors.subtle },
BufferVisibleIndex = { fg = palette.subtle }, BufferVisibleIndex = { fg = colors.subtle },
BufferVisibleMod = { fg = palette.foam }, BufferVisibleMod = { fg = colors.foam },
BufferVisibleSign = { fg = palette.muted }, BufferVisibleSign = { fg = colors.muted },
BufferVisibleTarget = { fg = palette.gold }, BufferVisibleTarget = { fg = colors.gold },
-- lewis6991/gitsigns.nvim -- lewis6991/gitsigns.nvim
SignAdd = { fg = group.git_add }, GitSignsAdd = { fg = groups.git.add },
SignChange = { fg = group.git_change }, GitSignsChange = { fg = groups.git.change },
SignDelete = { fg = group.git_delete }, GitSignsDelete = { fg = groups.git.delete },
GitSignsAdd = { fg = group.git_add }, SignAdd = { link = 'GitSignsAdd' },
GitSignsChange = { fg = group.git_change }, SignChange = { link = 'GitSignsChange' },
GitSignsDelete = { fg = group.git_delete }, SignDelete = { link = 'GitSignsDelete' },
-- mvllow/modes.nvim -- mvllow/modes.nvim
ModesCopy = { bg = palette.gold }, ModesCopy = { bg = colors.gold },
ModesDelete = { bg = palette.love }, ModesDelete = { bg = colors.love },
ModesInsert = { bg = palette.foam }, ModesInsert = { bg = colors.foam },
ModesVisual = { bg = palette.iris }, ModesVisual = { bg = colors.iris },
-- kyazdani42/nvim-tree.lua -- kyazdani42/nvim-tree.lua
NvimTreeNormal = { fg = palette.text }, NvimTreeEmptyFolderName = { fg = colors.muted },
NvimTreeFileDeleted = { fg = palette.love }, NvimTreeFileDeleted = { fg = colors.love },
NvimTreeFileDirty = { fg = palette.rose }, NvimTreeFileDirty = { fg = colors.rose },
NvimTreeFileMerge = { fg = palette.iris }, NvimTreeFileMerge = { fg = colors.iris },
NvimTreeFileNew = { fg = palette.foam }, NvimTreeFileNew = { fg = colors.foam },
NvimTreeFileRenamed = { fg = palette.pine }, NvimTreeFileRenamed = { fg = colors.pine },
NvimTreeFileStaged = { fg = palette.iris }, NvimTreeFileStaged = { fg = colors.iris },
NvimTreeEmptyFolderName = { fg = palette.muted }, NvimTreeFolderIcon = { fg = colors.subtle },
NvimTreeFolderIcon = { fg = palette.subtle }, NvimTreeFolderName = { fg = colors.foam },
NvimTreeFolderName = { fg = palette.foam }, NvimTreeGitDeleted = { fg = groups.git.delete },
NvimTreeImageFile = { fg = palette.text }, NvimTreeGitDirty = { fg = groups.git.dirty },
NvimTreeOpenedFile = { fg = palette.text, bg = palette.highlight_med }, NvimTreeGitIgnored = { fg = groups.git.ignore },
NvimTreeOpenedFolderName = { fg = palette.foam }, NvimTreeGitMerge = { fg = groups.git.merge },
NvimTreeRootFolder = { fg = palette.iris }, 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 },
NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
NvimTreeGitDeleted = { fg = group.git_delete }, NvimTreeWindowPicker = { fg = colors.base, bg = colors.iris },
NvimTreeGitDirty = { fg = group.git_dirty },
NvimTreeGitIgnored = { fg = group.git_ignore },
NvimTreeGitMerge = { fg = group.git_merge },
NvimTreeGitNew = { fg = group.git_add },
NvimTreeGitRenamed = { fg = group.git_rename },
NvimTreeGitStaged = { fg = group.git_stage },
NvimTreeWindowPicker = { fg = palette.base, bg = palette.iris },
-- folke/which-key.nvim -- folke/which-key.nvim
WhichKey = { fg = palette.iris }, WhichKey = { fg = colors.iris },
WhichKeyGroup = { fg = palette.foam }, WhichKeyGroup = { fg = colors.foam },
WhichKeySeparator = { fg = palette.subtle }, WhichKeySeparator = { fg = colors.subtle },
WhichKeyDesc = { fg = palette.gold }, WhichKeyDesc = { fg = colors.gold },
WhichKeyFloat = { bg = palette.surface }, WhichKeyFloat = { bg = colors.surface },
WhichKeyValue = { fg = palette.rose }, WhichKeyValue = { fg = colors.rose },
-- luka-reineke/indent-blankline.nvim -- luka-reineke/indent-blankline.nvim
IndentBlanklineChar = { fg = palette.muted }, IndentBlanklineChar = { fg = colors.muted },
-- hrsh7th/nvim-cmp -- hrsh7th/nvim-cmp
CmpItemKind = { fg = palette.iris }, CmpItemAbbr = { fg = colors.subtle },
CmpItemAbbr = { fg = palette.subtle }, CmpItemAbbrDeprecated = { fg = colors.subtle, style = 'strikethrough' },
CmpItemAbbrMatch = { fg = palette.text, style = 'bold' }, CmpItemAbbrMatch = { fg = colors.text, style = 'bold' },
CmpItemAbbrMatchFuzzy = { fg = palette.text, style = 'bold' }, CmpItemAbbrMatchFuzzy = { fg = colors.text, style = 'bold' },
CmpItemAbbrDeprecated = { fg = palette.subtle, style = 'strikethrough' }, CmpItemKind = { fg = colors.iris },
CmpItemKindVariable = { fg = palette.foam }, CmpItemKindClass = { fg = colors.gold },
CmpItemKindClass = { fg = palette.gold }, CmpItemKindFunction = { fg = colors.iris },
CmpItemKindInterface = { fg = palette.gold }, CmpItemKindInterface = { fg = colors.gold },
CmpItemKindFunction = { fg = palette.iris }, CmpItemKindMethod = { fg = colors.iris },
CmpItemKindMethod = { fg = palette.iris }, CmpItemKindSnippet = { fg = colors.iris },
CmpItemKindSnippet = { fg = palette.iris }, CmpItemKindVariable = { fg = colors.foam },
-- TimUntersberger/neogit -- TimUntersberger/neogit
NeogitDiffAddHighlight = { fg = palette.foam, bg = palette.highlight_med }, NeogitDiffAddHighlight = { fg = colors.foam, bg = colors.highlight_med },
NeogitDiffDeleteHighlight = { fg = palette.love, bg = palette.highlight_med }, NeogitDiffContextHighlight = { bg = colors.highlight_low },
NeogitDiffContextHighlight = { bg = palette.highlight_low }, NeogitDiffDeleteHighlight = { fg = colors.love, bg = colors.highlight_med },
NeogitHunkHeader = { bg = palette.highlight_low }, NeogitHunkHeader = { bg = colors.highlight_low },
NeogitHunkHeaderHighlight = { bg = palette.highlight_low }, NeogitHunkHeaderHighlight = { bg = colors.highlight_low },
-- vimwiki/vimwiki -- vimwiki/vimwiki
VimwikiHR = { fg = palette.subtle }, VimwikiHR = { fg = colors.subtle },
VimwikiHeader1 = { fg = group.headings.h1, style = 'bold' }, VimwikiHeader1 = { fg = groups.headings.h1, style = 'bold' },
VimwikiHeader2 = { fg = group.headings.h2, style = 'bold' }, VimwikiHeader2 = { fg = groups.headings.h2, style = 'bold' },
VimwikiHeader3 = { fg = group.headings.h3, style = 'bold' }, VimwikiHeader3 = { fg = groups.headings.h3, style = 'bold' },
VimwikiHeader4 = { fg = group.headings.h4, style = 'bold' }, VimwikiHeader4 = { fg = groups.headings.h4, style = 'bold' },
VimwikiHeader5 = { fg = group.headings.h5, style = 'bold' }, VimwikiHeader5 = { fg = groups.headings.h5, style = 'bold' },
VimwikiHeader6 = { fg = group.headings.h6, style = 'bold' }, VimwikiHeader6 = { fg = groups.headings.h6, style = 'bold' },
VimwikiHeaderChar = { fg = palette.pine }, VimwikiHeaderChar = { fg = colors.pine },
VimwikiLink = { fg = group.link, style = 'underline' }, VimwikiLink = { fg = groups.link, style = 'underline' },
VimwikiList = { fg = palette.iris }, VimwikiList = { fg = colors.iris },
VimwikiNoExistsLink = { fg = palette.love }, VimwikiNoExistsLink = { fg = colors.love },
-- nvim-neorg/neorg -- nvim-neorg/neorg
NeorgHeading1Prefix = { fg = group.headings.h1, style = 'bold' }, NeorgHeading1Prefix = { fg = groups.headings.h1, style = 'bold' },
NeorgHeading1Title = { fg = group.headings.h1, style = 'bold' }, NeorgHeading1Title = { link = 'NeorgHeading1Prefix' },
NeorgHeading2Prefix = { fg = group.headings.h2, style = 'bold' }, NeorgHeading2Prefix = { fg = groups.headings.h2, style = 'bold' },
NeorgHeading2Title = { fg = group.headings.h2, style = 'bold' }, NeorgHeading2Title = { link = 'NeorgHeading2Prefix' },
NeorgHeading3Prefix = { fg = group.headings.h3, style = 'bold' }, NeorgHeading3Prefix = { fg = groups.headings.h3, style = 'bold' },
NeorgHeading3Title = { fg = group.headings.h3, style = 'bold' }, NeorgHeading3Title = { link = 'NeorgHeading3Prefix' },
NeorgHeading4Prefix = { fg = group.headings.h4, style = 'bold' }, NeorgHeading4Prefix = { fg = groups.headings.h4, style = 'bold' },
NeorgHeading4Title = { fg = group.headings.h4, style = 'bold' }, NeorgHeading4Title = { link = 'NeorgHeading4Prefix' },
NeorgHeading5Prefix = { fg = group.headings.h5, style = 'bold' }, NeorgHeading5Prefix = { fg = groups.headings.h5, style = 'bold' },
NeorgHeading5Title = { fg = group.headings.h5, style = 'bold' }, NeorgHeading5Title = { link = 'NeorgHeading5Prefix' },
NeorgHeading6Prefix = { fg = group.headings.h6, style = 'bold' }, NeorgHeading6Prefix = { fg = groups.headings.h6, style = 'bold' },
NeorgHeading6Title = { fg = group.headings.h6, style = 'bold' }, NeorgHeading6Title = { link = 'NeorgHeading6Prefix' },
NeorgMarkerTitle = { fg = palette.text, style = 'bold' }, NeorgMarkerTitle = { fg = colors.text, style = 'bold' },
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim) -- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
DefinitionCount = { fg = palette.rose }, DefinitionCount = { fg = colors.rose },
DefinitionIcon = { fg = palette.rose }, DefinitionIcon = { fg = colors.rose },
DefintionPreviewTitle = { fg = palette.rose, style = 'bold' }, DefintionPreviewTitle = { fg = colors.rose, style = 'bold' },
LspFloatWinBorder = { fg = group.border }, LspFloatWinBorder = { fg = groups.border },
LspFloatWinNormal = { bg = palette.base }, LspFloatWinNormal = { bg = colors.base },
LspSagaAutoPreview = { fg = palette.subtle }, LspSagaAutoPreview = { fg = colors.subtle },
LspSagaCodeActionBorder = { fg = group.border }, LspSagaCodeActionBorder = { fg = groups.border },
LspSagaCodeActionContent = { fg = palette.foam }, LspSagaCodeActionContent = { fg = colors.foam },
LspSagaCodeActionTitle = { fg = palette.gold, style = 'bold' }, LspSagaCodeActionTitle = { fg = colors.gold, style = 'bold' },
LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' }, LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' },
LspSagaDefPreviewBorder = { fg = group.border }, LspSagaDefPreviewBorder = { fg = groups.border },
LspSagaDiagnosticBorder = { fg = group.border }, LspSagaDiagnosticBorder = { fg = groups.border },
LspSagaDiagnosticHeader = { fg = palette.gold, style = 'bold' }, LspSagaDiagnosticHeader = { fg = colors.gold, style = 'bold' },
LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' }, LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' },
LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' }, LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' },
LspSagaFinderSelection = { fg = palette.gold }, LspSagaFinderSelection = { fg = colors.gold },
LspSagaHoverBorder = { fg = group.border }, LspSagaHoverBorder = { fg = groups.border },
LspSagaLspFinderBorder = { fg = group.border }, LspSagaLspFinderBorder = { fg = groups.border },
LspSagaRenameBorder = { fg = palette.pine }, LspSagaRenameBorder = { fg = colors.pine },
LspSagaRenamePromptPrefix = { fg = palette.love }, LspSagaRenamePromptPrefix = { fg = colors.love },
LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' }, LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' },
LspSagaSignatureHelpBorder = { fg = palette.pine }, LspSagaSignatureHelpBorder = { fg = colors.pine },
ReferencesCount = { fg = palette.rose }, ReferencesCount = { fg = colors.rose },
ReferencesIcon = { fg = palette.rose }, ReferencesIcon = { fg = colors.rose },
SagaShadow = { bg = palette.overlay }, SagaShadow = { bg = colors.overlay },
TargetWord = { fg = palette.iris }, TargetWord = { fg = colors.iris },
-- ray-x/lsp_signature.nvim -- ray-x/lsp_signature.nvim
LspSignatureActiveParameter = { bg = palette.overlay }, LspSignatureActiveParameter = { bg = colors.overlay },
-- rlane/pounce.nvim -- rlane/pounce.nvim
PounceAccept = { fg = palette.love, bg = palette.highlight_high }, PounceAccept = { fg = colors.love, bg = colors.highlight_high },
PounceAcceptBest = { fg = palette.base, bg = palette.gold }, PounceAcceptBest = { fg = colors.base, bg = colors.gold },
PounceGap = { link = 'Search' }, PounceGap = { link = 'Search' },
PounceMatch = { link = 'Search' }, PounceMatch = { link = 'Search' },
-- nvim-telescope/telescope.nvim -- nvim-telescope/telescope.nvim
TelescopeBorder = { fg = group.border }, TelescopeBorder = { fg = groups.border },
TelescopeMatching = { fg = palette.rose }, TelescopeMatching = { fg = colors.rose },
TelescopeNormal = { fg = palette.subtle }, TelescopeNormal = { fg = colors.subtle },
TelescopePromptNormal = { fg = palette.text }, TelescopePromptNormal = { fg = colors.text },
TelescopePromptPrefix = { fg = palette.subtle }, TelescopePromptPrefix = { fg = colors.subtle },
TelescopeSelection = { fg = palette.text, bg = palette.highlight_low }, TelescopeSelection = { fg = colors.text, bg = colors.overlay },
TelescopeSelectionCaret = { fg = palette.rose, bg = palette.highlight_low }, TelescopeSelectionCaret = { fg = colors.rose, bg = colors.overlay },
TelescopeTitle = { fg = palette.subtle }, TelescopeTitle = { fg = colors.subtle },
} }
vim.g.terminal_color_0 = palette.overlay -- black vim.g.terminal_color_0 = colors.overlay -- black
vim.g.terminal_color_8 = palette.subtle -- bright black vim.g.terminal_color_8 = colors.subtle -- bright black
vim.g.terminal_color_1 = palette.love -- red vim.g.terminal_color_1 = colors.love -- red
vim.g.terminal_color_9 = palette.love -- bright red vim.g.terminal_color_9 = colors.love -- bright red
vim.g.terminal_color_2 = palette.pine -- green vim.g.terminal_color_2 = colors.pine -- green
vim.g.terminal_color_10 = palette.pine -- bright green vim.g.terminal_color_10 = colors.pine -- bright green
vim.g.terminal_color_3 = palette.gold -- yellow vim.g.terminal_color_3 = colors.gold -- yellow
vim.g.terminal_color_11 = palette.gold -- bright yellow vim.g.terminal_color_11 = colors.gold -- bright yellow
vim.g.terminal_color_4 = palette.foam -- blue vim.g.terminal_color_4 = colors.foam -- blue
vim.g.terminal_color_12 = palette.foam -- bright blue vim.g.terminal_color_12 = colors.foam -- bright blue
vim.g.terminal_color_5 = palette.iris -- magenta vim.g.terminal_color_5 = colors.iris -- magenta
vim.g.terminal_color_13 = palette.iris -- bright magenta vim.g.terminal_color_13 = colors.iris -- bright magenta
vim.g.terminal_color_6 = palette.rose -- cyan vim.g.terminal_color_6 = colors.rose -- cyan
vim.g.terminal_color_14 = palette.rose -- bright cyan vim.g.terminal_color_14 = colors.rose -- bright cyan
vim.g.terminal_color_7 = palette.text -- white vim.g.terminal_color_7 = colors.text -- white
vim.g.terminal_color_15 = palette.text -- bright white vim.g.terminal_color_15 = colors.text -- bright white
return theme return theme
end
return M

View file

@ -11,6 +11,8 @@
</a> </a>
</p> </p>
> !!! You are looking at the canary branch. Documentation has not yet been updated on this branch and is NOT accurate.
## Usage ## Usage
```lua ```lua