mirror of
https://github.com/rose-pine/neovim.git
synced 2025-10-15 12:38:53 +02:00
refactor: move config into separate file
This commit is contained in:
parent
93c760b393
commit
544b809b45
4 changed files with 625 additions and 600 deletions
|
|
@ -1,70 +1,12 @@
|
||||||
local util = require('rose-pine.util')
|
local config = require('rose-pine.config')
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local config = {
|
---@param options Config|nil
|
||||||
bold_vert_split = false,
|
function M.colorscheme(options)
|
||||||
dark_variant = 'main',
|
if options then
|
||||||
dim_nc_background = false,
|
config.extend(options)
|
||||||
disable_background = false,
|
|
||||||
disable_float_background = false,
|
|
||||||
disable_italics = false,
|
|
||||||
|
|
||||||
groups = {
|
|
||||||
background = 'base',
|
|
||||||
panel = 'surface',
|
|
||||||
border = 'highlight_med',
|
|
||||||
comment = 'muted',
|
|
||||||
link = 'iris',
|
|
||||||
punctuation = 'muted',
|
|
||||||
|
|
||||||
error = 'love',
|
|
||||||
hint = 'iris',
|
|
||||||
info = 'foam',
|
|
||||||
warn = 'gold',
|
|
||||||
|
|
||||||
git_add = 'foam',
|
|
||||||
git_change = 'rose',
|
|
||||||
git_delete = 'love',
|
|
||||||
git_dirty = 'rose',
|
|
||||||
git_ignore = 'muted',
|
|
||||||
git_merge = 'iris',
|
|
||||||
git_rename = 'pine',
|
|
||||||
git_stage = 'iris',
|
|
||||||
git_text = 'rose',
|
|
||||||
|
|
||||||
headings = {
|
|
||||||
h1 = 'iris',
|
|
||||||
h2 = 'foam',
|
|
||||||
h3 = 'rose',
|
|
||||||
h4 = 'gold',
|
|
||||||
h5 = 'pine',
|
|
||||||
h6 = 'foam',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
highlight_groups = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
function M.setup(opts)
|
|
||||||
opts = opts or {}
|
|
||||||
vim.g.rose_pine_variant = opts.dark_variant or 'main'
|
|
||||||
|
|
||||||
if opts.groups and type(opts.groups.headings) == 'string' then
|
|
||||||
opts.groups.headings = {
|
|
||||||
h1 = opts.groups.headings,
|
|
||||||
h2 = opts.groups.headings,
|
|
||||||
h3 = opts.groups.headings,
|
|
||||||
h4 = opts.groups.headings,
|
|
||||||
h5 = opts.groups.headings,
|
|
||||||
h6 = opts.groups.headings,
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
config.user_variant = opts.dark_variant or nil
|
|
||||||
config = vim.tbl_deep_extend('force', config, opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.colorscheme()
|
|
||||||
if vim.g.colors_name then
|
if vim.g.colors_name then
|
||||||
vim.cmd('hi clear')
|
vim.cmd('hi clear')
|
||||||
end
|
end
|
||||||
|
|
@ -72,20 +14,9 @@ function M.colorscheme()
|
||||||
vim.opt.termguicolors = true
|
vim.opt.termguicolors = true
|
||||||
vim.g.colors_name = 'rose-pine'
|
vim.g.colors_name = 'rose-pine'
|
||||||
|
|
||||||
local theme = require('rose-pine.theme').get(config)
|
require('rose-pine.theme')._load(config.options)
|
||||||
|
|
||||||
-- Set theme highlights
|
|
||||||
for group, color in pairs(theme) do
|
|
||||||
-- Skip highlight group if user overrides
|
|
||||||
if config.highlight_groups[group] == nil then
|
|
||||||
util.highlight(group, color)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Set user highlights
|
|
||||||
for group, color in pairs(config.highlight_groups) do
|
|
||||||
util.highlight(group, color)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
M.setup = config.setup
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
||||||
98
lua/rose-pine/config.lua
Normal file
98
lua/rose-pine/config.lua
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
---@class Groups
|
||||||
|
---@field background string
|
||||||
|
---@field panel string
|
||||||
|
---@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_add string
|
||||||
|
---@field git_change string
|
||||||
|
---@field git_delete string
|
||||||
|
---@field git_dirty string
|
||||||
|
---@field git_ignore string
|
||||||
|
---@field git_merge string
|
||||||
|
---@field git_rename string
|
||||||
|
---@field git_stage string
|
||||||
|
---@field git_text string
|
||||||
|
---@field headings Headings|string
|
||||||
|
|
||||||
|
---@class Headings
|
||||||
|
---@field h1 string
|
||||||
|
---@field h2 string
|
||||||
|
---@field h3 string
|
||||||
|
---@field h4 string
|
||||||
|
---@field h5 string
|
||||||
|
---@field h6 string
|
||||||
|
|
||||||
|
---@class Config
|
||||||
|
---@field dark_variant 'main'|'moon'
|
||||||
|
---@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 Groups
|
||||||
|
---@field highlight_groups table<string, any>
|
||||||
|
local defaults = {
|
||||||
|
dark_variant = 'main',
|
||||||
|
bold_vert_split = false,
|
||||||
|
dim_nc_background = false,
|
||||||
|
disable_background = false,
|
||||||
|
disable_float_background = false,
|
||||||
|
disable_italics = false,
|
||||||
|
highlight_groups = {},
|
||||||
|
|
||||||
|
groups = {
|
||||||
|
background = 'base',
|
||||||
|
panel = 'surface',
|
||||||
|
border = 'highlight_med',
|
||||||
|
comment = 'muted',
|
||||||
|
link = 'iris',
|
||||||
|
punctuation = 'muted',
|
||||||
|
error = 'love',
|
||||||
|
hint = 'iris',
|
||||||
|
info = 'foam',
|
||||||
|
warn = 'gold',
|
||||||
|
git_add = 'foam',
|
||||||
|
git_change = 'rose',
|
||||||
|
git_delete = 'love',
|
||||||
|
git_dirty = 'rose',
|
||||||
|
git_ignore = 'muted',
|
||||||
|
git_merge = 'iris',
|
||||||
|
git_rename = 'pine',
|
||||||
|
git_stage = 'iris',
|
||||||
|
git_text = 'rose',
|
||||||
|
headings = {
|
||||||
|
h1 = 'iris',
|
||||||
|
h2 = 'foam',
|
||||||
|
h3 = 'rose',
|
||||||
|
h4 = 'gold',
|
||||||
|
h5 = 'pine',
|
||||||
|
h6 = 'foam',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
---@type Config
|
||||||
|
M.options = {}
|
||||||
|
|
||||||
|
---@param options Config|nil
|
||||||
|
function M.setup(options)
|
||||||
|
M.options = vim.tbl_deep_extend('force', {}, defaults, options or {})
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param options Config|nil
|
||||||
|
function M.extend(options)
|
||||||
|
M.options =
|
||||||
|
vim.tbl_deep_extend('force', {}, M.options or defaults, options or {})
|
||||||
|
end
|
||||||
|
|
||||||
|
M.setup()
|
||||||
|
|
||||||
|
return M
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
local options = require('rose-pine.config').options
|
||||||
|
|
||||||
local variants = {
|
local variants = {
|
||||||
main = {
|
main = {
|
||||||
base = '#191724',
|
base = '#191724',
|
||||||
|
|
@ -55,12 +57,5 @@ local variants = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local palette = {}
|
return vim.o.background == 'light' and variants.dawn
|
||||||
|
or variants[options.dark_variant or 'main']
|
||||||
if vim.o.background == 'light' then
|
|
||||||
palette = variants.dawn
|
|
||||||
else
|
|
||||||
palette = variants[(vim.g.rose_pine_variant == 'moon' and 'moon') or 'main']
|
|
||||||
end
|
|
||||||
|
|
||||||
return palette
|
|
||||||
|
|
|
||||||
|
|
@ -1,521 +1,519 @@
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
function M.get(config)
|
---@param options Config
|
||||||
|
function M._load(options)
|
||||||
|
local h = require('rose-pine.util').highlight
|
||||||
local p = require('rose-pine.palette')
|
local p = require('rose-pine.palette')
|
||||||
|
|
||||||
local theme = {}
|
local groups = options.groups or {}
|
||||||
local groups = config.groups or {}
|
local maybe = {
|
||||||
local styles = {
|
base = (options.disable_background and p.none) or p.base,
|
||||||
italic = not config.disable_italics,
|
surface = (options.disable_float_background and p.none) or p.surface,
|
||||||
vert_split = (config.bold_vert_split and groups.border) or p.none,
|
italic = not options.disable_italics,
|
||||||
background = (config.disable_background and p.none)
|
|
||||||
or groups.background,
|
|
||||||
float_background = (config.disable_float_background and p.none)
|
|
||||||
or groups.panel,
|
|
||||||
}
|
}
|
||||||
styles.nc_background = (config.dim_nc_background and groups.panel)
|
maybe.bold_vert_split = (options.bold_vert_split and groups.border)
|
||||||
or styles.background
|
or p.none
|
||||||
|
maybe.dim_nc_background = (options.dim_nc_background and groups.panel)
|
||||||
|
|
||||||
theme = {
|
h('ColorColumn', { bg = p.overlay })
|
||||||
ColorColumn = { bg = p.overlay },
|
h('Conceal', { bg = p.none })
|
||||||
Conceal = { bg = p.none },
|
h('CurSearch', { link = 'IncSearch' })
|
||||||
CurSearch = { link = 'IncSearch' },
|
|
||||||
-- Cursor = {},
|
-- Cursor = {},
|
||||||
CursorColumn = { bg = p.highlight_low },
|
h('CursorColumn', { bg = p.highlight_low })
|
||||||
-- CursorIM = {},
|
-- CursorIM = {},
|
||||||
CursorLine = { bg = p.highlight_low },
|
h('CursorLine', { bg = p.highlight_low })
|
||||||
CursorLineNr = { fg = p.text },
|
h('CursorLineNr', { fg = p.text })
|
||||||
DarkenedPanel = { bg = groups.panel },
|
h('DarkenedPanel', { bg = maybe.surface })
|
||||||
DarkenedStatusline = { bg = groups.panel },
|
h('DarkenedStatusline', { bg = maybe.surface })
|
||||||
DiffAdd = { bg = groups.git_add, blend = 20 },
|
h('DiffAdd', { bg = groups.git_add, blend = 20 })
|
||||||
DiffChange = { bg = p.overlay },
|
|
||||||
DiffDelete = { bg = groups.git_delete, blend = 20 },
|
h('DiffChange', { bg = p.overlay })
|
||||||
DiffText = { bg = groups.git_text, blend = 20 },
|
h('DiffDelete', { bg = groups.git_delete, blend = 20 })
|
||||||
diffAdded = { link = 'DiffAdd' },
|
h('DiffText', { bg = groups.git_text, blend = 20 })
|
||||||
diffChanged = { link = 'DiffChange' },
|
h('diffAdded', { link = 'DiffAdd' })
|
||||||
diffRemoved = { link = 'DiffDelete' },
|
h('diffChanged', { link = 'DiffChange' })
|
||||||
Directory = { fg = p.foam, bg = p.none },
|
h('diffRemoved', { link = 'DiffDelete' })
|
||||||
|
h('Directory', { fg = p.foam, bg = p.none })
|
||||||
-- EndOfBuffer = {},
|
-- EndOfBuffer = {},
|
||||||
ErrorMsg = { fg = p.love, bold = true },
|
h('ErrorMsg', { fg = p.love, bold = true })
|
||||||
FloatBorder = { fg = groups.border },
|
h('FloatBorder', { fg = groups.border })
|
||||||
FloatTitle = { fg = p.muted },
|
h('FloatTitle', { fg = p.muted })
|
||||||
FoldColumn = { fg = p.muted },
|
h('FoldColumn', { fg = p.muted })
|
||||||
Folded = { fg = p.text, bg = groups.panel },
|
h('Folded', { fg = p.text, bg = maybe.surface })
|
||||||
IncSearch = { fg = p.base, bg = p.rose },
|
h('IncSearch', { fg = p.base, bg = p.rose })
|
||||||
LineNr = { fg = p.muted },
|
h('LineNr', { fg = p.muted })
|
||||||
MatchParen = { fg = p.text, bg = p.highlight_med },
|
h('MatchParen', { fg = p.text, bg = p.highlight_med })
|
||||||
ModeMsg = { fg = p.subtle },
|
h('ModeMsg', { fg = p.subtle })
|
||||||
MoreMsg = { fg = p.iris },
|
h('MoreMsg', { fg = p.iris })
|
||||||
NonText = { fg = p.muted },
|
h('NonText', { fg = p.muted })
|
||||||
Normal = { fg = p.text, bg = styles.background },
|
h('Normal', { fg = p.text, bg = maybe.base })
|
||||||
NormalFloat = { fg = p.text, bg = styles.float_background },
|
h('NormalFloat', { fg = p.text, bg = maybe.surface })
|
||||||
NormalNC = { fg = p.text, bg = styles.nc_background },
|
h('NormalNC', { fg = p.text, bg = maybe.dim_nc_background })
|
||||||
NvimInternalError = { fg = '#ffffff', bg = p.love },
|
h('NvimInternalError', { fg = '#ffffff', bg = p.love })
|
||||||
Pmenu = { fg = p.subtle, bg = styles.float_background },
|
h('Pmenu', { fg = p.subtle, bg = maybe.surface })
|
||||||
PmenuSbar = { bg = p.highlight_low },
|
h('PmenuSbar', { bg = p.highlight_low })
|
||||||
PmenuSel = { fg = p.text, bg = p.overlay },
|
h('PmenuSel', { fg = p.text, bg = p.overlay })
|
||||||
PmenuThumb = { bg = p.highlight_med },
|
h('PmenuThumb', { bg = p.highlight_med })
|
||||||
Question = { fg = p.gold },
|
h('Question', { fg = p.gold })
|
||||||
-- QuickFixLine = {},
|
-- QuickFixLine = {},
|
||||||
-- RedrawDebugNormal = {}
|
-- RedrawDebugNormal = {}
|
||||||
RedrawDebugClear = { fg = '#ffffff', bg = p.gold },
|
h('RedrawDebugClear', { fg = '#ffffff', bg = p.gold })
|
||||||
RedrawDebugComposed = { fg = '#ffffff', bg = p.pine },
|
h('RedrawDebugComposed', { fg = '#ffffff', bg = p.pine })
|
||||||
RedrawDebugRecompose = { fg = '#ffffff', bg = p.love },
|
h('RedrawDebugRecompose', { fg = '#ffffff', bg = p.love })
|
||||||
Search = { bg = p.highlight_med },
|
h('Search', { bg = p.highlight_med })
|
||||||
SpecialKey = { fg = p.foam },
|
h('SpecialKey', { fg = p.foam })
|
||||||
SpellBad = { sp = p.subtle, undercurl = true },
|
h('SpellBad', { sp = p.subtle, undercurl = true })
|
||||||
SpellCap = { sp = p.subtle, undercurl = true },
|
h('SpellCap', { sp = p.subtle, undercurl = true })
|
||||||
SpellLocal = { sp = p.subtle, undercurl = true },
|
h('SpellLocal', { sp = p.subtle, undercurl = true })
|
||||||
SpellRare = { sp = p.subtle, undercurl = true },
|
h('SpellRare', { sp = p.subtle, undercurl = true })
|
||||||
SignColumn = { fg = p.text, bg = styles.background },
|
h('SignColumn', { fg = p.text, bg = maybe.base })
|
||||||
StatusLine = { fg = p.subtle, bg = styles.float_background },
|
h('StatusLine', { fg = p.subtle, bg = maybe.surface })
|
||||||
StatusLineNC = { fg = p.muted, bg = styles.background },
|
h('StatusLineNC', { fg = p.muted, bg = maybe.base })
|
||||||
StatusLineTerm = { link = 'StatusLine' },
|
h('StatusLineTerm', { link = 'StatusLine' })
|
||||||
StatusLineTermNC = { link = 'StatusLineNC' },
|
h('StatusLineTermNC', { link = 'StatusLineNC' })
|
||||||
TabLine = { fg = p.subtle, bg = styles.float_background },
|
h('TabLine', { fg = p.subtle, bg = maybe.surface })
|
||||||
TabLineFill = { bg = styles.float_background },
|
h('TabLineFill', { bg = maybe.surface })
|
||||||
TabLineSel = { fg = p.text, bg = p.overlay },
|
h('TabLineSel', { fg = p.text, bg = p.overlay })
|
||||||
Title = { fg = p.text },
|
h('Title', { fg = p.text })
|
||||||
VertSplit = { fg = groups.border, bg = styles.vert_split },
|
h('VertSplit', { fg = groups.border, bg = maybe.bold_vert_split })
|
||||||
Visual = { bg = p.highlight_med },
|
h('Visual', { bg = p.highlight_med })
|
||||||
-- VisualNOS = {},
|
-- VisualNOS = {},
|
||||||
WarningMsg = { fg = p.gold },
|
h('WarningMsg', { fg = p.gold })
|
||||||
-- Whitespace = {},
|
-- Whitespace = {},
|
||||||
WildMenu = { link = 'IncSearch' },
|
h('WildMenu', { link = 'IncSearch' })
|
||||||
|
|
||||||
Boolean = { fg = p.rose },
|
h('Boolean', { fg = p.rose })
|
||||||
Character = { fg = p.gold },
|
h('Character', { fg = p.gold })
|
||||||
Comment = { fg = groups.comment, italic = styles.italic },
|
h('Comment', { fg = groups.comment, italic = maybe.italic })
|
||||||
Conditional = { fg = p.pine },
|
h('Conditional', { fg = p.pine })
|
||||||
Constant = { fg = p.gold },
|
h('Constant', { fg = p.gold })
|
||||||
Debug = { fg = p.rose },
|
h('Debug', { fg = p.rose })
|
||||||
Define = { fg = p.iris },
|
h('Define', { fg = p.iris })
|
||||||
Delimiter = { fg = p.subtle },
|
h('Delimiter', { fg = p.subtle })
|
||||||
Error = { fg = p.love },
|
h('Error', { fg = p.love })
|
||||||
Exception = { fg = p.pine },
|
h('Exception', { fg = p.pine })
|
||||||
Float = { fg = p.gold },
|
h('Float', { fg = p.gold })
|
||||||
Function = { fg = p.rose },
|
h('Function', { fg = p.rose })
|
||||||
Identifier = { fg = p.rose },
|
h('Identifier', { fg = p.rose })
|
||||||
-- Ignore = {},
|
-- Ignore = {},
|
||||||
Include = { fg = p.iris },
|
h('Include', { fg = p.iris })
|
||||||
Keyword = { fg = p.pine },
|
h('Keyword', { fg = p.pine })
|
||||||
Label = { fg = p.foam },
|
h('Label', { fg = p.foam })
|
||||||
Macro = { fg = p.iris },
|
h('Macro', { fg = p.iris })
|
||||||
Number = { fg = p.gold },
|
h('Number', { fg = p.gold })
|
||||||
Operator = { fg = p.subtle },
|
h('Operator', { fg = p.subtle })
|
||||||
PreCondit = { fg = p.iris },
|
h('PreCondit', { fg = p.iris })
|
||||||
PreProc = { fg = p.iris },
|
h('PreProc', { fg = p.iris })
|
||||||
Repeat = { fg = p.pine },
|
h('Repeat', { fg = p.pine })
|
||||||
Special = { fg = p.rose },
|
h('Special', { fg = p.rose })
|
||||||
SpecialChar = { fg = p.rose },
|
h('SpecialChar', { fg = p.rose })
|
||||||
SpecialComment = { fg = p.iris },
|
h('SpecialComment', { fg = p.iris })
|
||||||
Statement = { fg = p.pine },
|
h('Statement', { fg = p.pine })
|
||||||
StorageClass = { fg = p.foam },
|
h('StorageClass', { fg = p.foam })
|
||||||
String = { fg = p.gold },
|
h('String', { fg = p.gold })
|
||||||
Structure = { fg = p.foam },
|
h('Structure', { fg = p.foam })
|
||||||
Tag = { fg = p.rose },
|
h('Tag', { fg = p.rose })
|
||||||
Todo = { fg = p.iris },
|
h('Todo', { fg = p.iris })
|
||||||
Type = { fg = p.foam },
|
h('Type', { fg = p.foam })
|
||||||
Typedef = { fg = p.foam },
|
h('Typedef', { fg = p.foam })
|
||||||
Underlined = { underline = true },
|
h('Underlined', { underline = true })
|
||||||
|
|
||||||
htmlArg = { fg = p.iris },
|
h('htmlArg', { fg = p.iris })
|
||||||
htmlBold = { bold = true },
|
h('htmlBold', { bold = true })
|
||||||
htmlEndTag = { fg = p.subtle },
|
h('htmlEndTag', { fg = p.subtle })
|
||||||
htmlH1 = { fg = groups.headings.h1, bold = true },
|
h('htmlH1', { fg = groups.headings.h1, bold = true })
|
||||||
htmlH2 = { fg = groups.headings.h2, bold = true },
|
h('htmlH2', { fg = groups.headings.h2, bold = true })
|
||||||
htmlH3 = { fg = groups.headings.h3, bold = true },
|
h('htmlH3', { fg = groups.headings.h3, bold = true })
|
||||||
htmlH4 = { fg = groups.headings.h4, bold = true },
|
h('htmlH4', { fg = groups.headings.h4, bold = true })
|
||||||
htmlH5 = { fg = groups.headings.h5, bold = true },
|
h('htmlH5', { fg = groups.headings.h5, bold = true })
|
||||||
htmlItalic = { italic = styles.italic },
|
h('htmlItalic', { italic = maybe.italic })
|
||||||
htmlLink = { fg = groups.link },
|
h('htmlLink', { fg = groups.link })
|
||||||
htmlTag = { fg = p.subtle },
|
h('htmlTag', { fg = p.subtle })
|
||||||
htmlTagN = { fg = p.text },
|
h('htmlTagN', { fg = p.text })
|
||||||
htmlTagName = { fg = p.foam },
|
h('htmlTagName', { fg = p.foam })
|
||||||
|
|
||||||
markdownDelimiter = { fg = p.subtle },
|
h('markdownDelimiter', { fg = p.subtle })
|
||||||
markdownH1 = { fg = groups.headings.h1, bold = true },
|
h('markdownH1', { fg = groups.headings.h1, bold = true })
|
||||||
markdownH1Delimiter = { link = 'markdownH1' },
|
h('markdownH1Delimiter', { link = 'markdownH1' })
|
||||||
markdownH2 = { fg = groups.headings.h2, bold = true },
|
h('markdownH2', { fg = groups.headings.h2, bold = true })
|
||||||
markdownH2Delimiter = { link = 'markdownH2' },
|
h('markdownH2Delimiter', { link = 'markdownH2' })
|
||||||
markdownH3 = { fg = groups.headings.h3, bold = true },
|
h('markdownH3', { fg = groups.headings.h3, bold = true })
|
||||||
markdownH3Delimiter = { link = 'markdownH3' },
|
h('markdownH3Delimiter', { link = 'markdownH3' })
|
||||||
markdownH4 = { fg = groups.headings.h4, bold = true },
|
h('markdownH4', { fg = groups.headings.h4, bold = true })
|
||||||
markdownH4Delimiter = { link = 'markdownH4' },
|
h('markdownH4Delimiter', { link = 'markdownH4' })
|
||||||
markdownH5 = { fg = groups.headings.h5, bold = true },
|
h('markdownH5', { fg = groups.headings.h5, bold = true })
|
||||||
markdownH5Delimiter = { link = 'markdownH5' },
|
h('markdownH5Delimiter', { link = 'markdownH5' })
|
||||||
markdownH6 = { fg = groups.headings.h6, bold = true },
|
h('markdownH6', { fg = groups.headings.h6, bold = true })
|
||||||
markdownH6Delimiter = { link = 'markdownH6' },
|
h('markdownH6Delimiter', { link = 'markdownH6' })
|
||||||
markdownLinkText = { fg = groups.link, underline = true },
|
h('markdownLinkText', { fg = groups.link, underline = true })
|
||||||
markdownUrl = { link = 'markdownLinkText' },
|
h('markdownUrl', { link = 'markdownLinkText' })
|
||||||
|
|
||||||
mkdCode = { fg = p.foam, italic = styles.italic },
|
h('mkdCode', { fg = p.foam, italic = maybe.italic })
|
||||||
mkdCodeDelimiter = { fg = p.rose },
|
h('mkdCodeDelimiter', { fg = p.rose })
|
||||||
mkdCodeEnd = { fg = p.foam },
|
h('mkdCodeEnd', { fg = p.foam })
|
||||||
mkdCodeStart = { fg = p.foam },
|
h('mkdCodeStart', { fg = p.foam })
|
||||||
mkdFootnotes = { fg = p.foam },
|
h('mkdFootnotes', { fg = p.foam })
|
||||||
mkdID = { fg = p.foam, underline = true },
|
h('mkdID', { fg = p.foam, underline = true })
|
||||||
mkdInlineURL = { fg = groups.link, underline = true },
|
h('mkdInlineURL', { fg = groups.link, underline = true })
|
||||||
mkdLink = { link = 'mkdInlineURL' },
|
h('mkdLink', { link = 'mkdInlineURL' })
|
||||||
mkdLinkDef = { link = 'mkdInlineURL' },
|
h('mkdLinkDef', { link = 'mkdInlineURL' })
|
||||||
mkdListItemLine = { fg = p.text },
|
h('mkdListItemLine', { fg = p.text })
|
||||||
mkdRule = { fg = p.subtle },
|
h('mkdRule', { fg = p.subtle })
|
||||||
mkdURL = { link = 'mkdInlineURL' },
|
h('mkdURL', { link = 'mkdInlineURL' })
|
||||||
|
|
||||||
DiagnosticError = { fg = groups.error },
|
h('DiagnosticError', { fg = groups.error })
|
||||||
DiagnosticHint = { fg = groups.hint },
|
h('DiagnosticHint', { fg = groups.hint })
|
||||||
DiagnosticInfo = { fg = groups.info },
|
h('DiagnosticInfo', { fg = groups.info })
|
||||||
DiagnosticWarn = { fg = groups.warn },
|
h('DiagnosticWarn', { fg = groups.warn })
|
||||||
DiagnosticDefaultError = { fg = groups.error },
|
h('DiagnosticDefaultError', { fg = groups.error })
|
||||||
DiagnosticDefaultHint = { fg = groups.hint },
|
h('DiagnosticDefaultHint', { fg = groups.hint })
|
||||||
DiagnosticDefaultInfo = { fg = groups.info },
|
h('DiagnosticDefaultInfo', { fg = groups.info })
|
||||||
DiagnosticDefaultWarn = { fg = groups.warn },
|
h('DiagnosticDefaultWarn', { fg = groups.warn })
|
||||||
DiagnosticFloatingError = { fg = groups.error },
|
h('DiagnosticFloatingError', { fg = groups.error })
|
||||||
DiagnosticFloatingHint = { fg = groups.hint },
|
h('DiagnosticFloatingHint', { fg = groups.hint })
|
||||||
DiagnosticFloatingInfo = { fg = groups.info },
|
h('DiagnosticFloatingInfo', { fg = groups.info })
|
||||||
DiagnosticFloatingWarn = { fg = groups.warn },
|
h('DiagnosticFloatingWarn', { fg = groups.warn })
|
||||||
DiagnosticSignError = { fg = groups.error },
|
h('DiagnosticSignError', { fg = groups.error })
|
||||||
DiagnosticSignHint = { fg = groups.hint },
|
h('DiagnosticSignHint', { fg = groups.hint })
|
||||||
DiagnosticSignInfo = { fg = groups.info },
|
h('DiagnosticSignInfo', { fg = groups.info })
|
||||||
DiagnosticSignWarn = { fg = groups.warn },
|
h('DiagnosticSignWarn', { fg = groups.warn })
|
||||||
DiagnosticStatusLineError = { fg = groups.error, bg = groups.panel },
|
h('DiagnosticStatusLineError', { fg = groups.error, bg = maybe.surface })
|
||||||
DiagnosticStatusLineHint = { fg = groups.hint, bg = groups.panel },
|
h('DiagnosticStatusLineHint', { fg = groups.hint, bg = maybe.surface })
|
||||||
DiagnosticStatusLineInfo = { fg = groups.info, bg = groups.panel },
|
h('DiagnosticStatusLineInfo', { fg = groups.info, bg = maybe.surface })
|
||||||
DiagnosticStatusLineWarn = { fg = groups.warn, bg = groups.panel },
|
h('DiagnosticStatusLineWarn', { fg = groups.warn, bg = maybe.surface })
|
||||||
DiagnosticUnderlineError = { sp = groups.error, undercurl = true },
|
h('DiagnosticUnderlineError', { sp = groups.error, undercurl = true })
|
||||||
DiagnosticUnderlineHint = { sp = groups.hint, undercurl = true },
|
h('DiagnosticUnderlineHint', { sp = groups.hint, undercurl = true })
|
||||||
DiagnosticUnderlineInfo = { sp = groups.info, undercurl = true },
|
h('DiagnosticUnderlineInfo', { sp = groups.info, undercurl = true })
|
||||||
DiagnosticUnderlineWarn = { sp = groups.warn, undercurl = true },
|
h('DiagnosticUnderlineWarn', { sp = groups.warn, undercurl = true })
|
||||||
DiagnosticVirtualTextError = { fg = groups.error },
|
h('DiagnosticVirtualTextError', { fg = groups.error })
|
||||||
DiagnosticVirtualTextHint = { fg = groups.hint },
|
h('DiagnosticVirtualTextHint', { fg = groups.hint })
|
||||||
DiagnosticVirtualTextInfo = { fg = groups.info },
|
h('DiagnosticVirtualTextInfo', { fg = groups.info })
|
||||||
DiagnosticVirtualTextWarn = { fg = groups.warn },
|
h('DiagnosticVirtualTextWarn', { fg = groups.warn })
|
||||||
|
|
||||||
-- healthcheck
|
-- healthcheck
|
||||||
healthError = { fg = groups.error },
|
h('healthError', { fg = groups.error })
|
||||||
healthSuccess = { fg = groups.info },
|
h('healthSuccess', { fg = groups.info })
|
||||||
healthWarning = { fg = groups.warn },
|
h('healthWarning', { fg = groups.warn })
|
||||||
|
|
||||||
-- TSAttribute = {},
|
-- TSAttribute = {},
|
||||||
TSBoolean = { link = 'Boolean' },
|
h('TSBoolean', { link = 'Boolean' })
|
||||||
TSCharacter = { link = 'Character' },
|
h('TSCharacter', { link = 'Character' })
|
||||||
TSComment = { link = 'Comment' },
|
h('TSComment', { link = 'Comment' })
|
||||||
TSConditional = { link = 'Conditional' },
|
h('TSConditional', { link = 'Conditional' })
|
||||||
TSConstBuiltin = { fg = p.love },
|
h('TSConstBuiltin', { fg = p.love })
|
||||||
-- TSConstMacro = {},
|
-- TSConstMacro = {},
|
||||||
TSConstant = { fg = p.foam },
|
h('TSConstant', { fg = p.foam })
|
||||||
TSConstructor = { fg = p.foam },
|
h('TSConstructor', { fg = p.foam })
|
||||||
-- TSEmphasis = {},
|
-- TSEmphasis = {},
|
||||||
-- TSError = {},
|
-- TSError = {},
|
||||||
-- TSException = {},
|
-- TSException = {},
|
||||||
TSField = { fg = p.foam },
|
h('TSField', { fg = p.foam })
|
||||||
-- TSFloat = {},
|
-- TSFloat = {},
|
||||||
TSFuncBuiltin = { fg = p.love },
|
h('TSFuncBuiltin', { fg = p.love })
|
||||||
-- TSFuncMacro = {},
|
-- TSFuncMacro = {},
|
||||||
TSFunction = { fg = p.rose },
|
h('TSFunction', { fg = p.rose })
|
||||||
TSInclude = { fg = p.pine },
|
h('TSInclude', { fg = p.pine })
|
||||||
TSKeyword = { fg = p.pine },
|
h('TSKeyword', { fg = p.pine })
|
||||||
-- TSKeywordFunction = {},
|
-- TSKeywordFunction = {},
|
||||||
TSKeywordOperator = { fg = p.subtle },
|
h('TSKeywordOperator', { fg = p.subtle })
|
||||||
TSLabel = { fg = p.foam },
|
h('TSLabel', { fg = p.foam })
|
||||||
-- TSLiteral = {},
|
-- TSLiteral = {},
|
||||||
-- TSMethod = {},
|
-- TSMethod = {},
|
||||||
-- TSNamespace = {},
|
-- TSNamespace = {},
|
||||||
-- TSNone = {},
|
-- TSNone = {},
|
||||||
TSNumber = { link = 'Number' },
|
h('TSNumber', { link = 'Number' })
|
||||||
TSOperator = { fg = p.subtle },
|
h('TSOperator', { fg = p.subtle })
|
||||||
TSParameter = { fg = p.iris, italic = styles.italic },
|
h('TSParameter', { fg = p.iris, italic = maybe.italic })
|
||||||
-- TSParameterReference = {},
|
-- TSParameterReference = {},
|
||||||
TSProperty = { fg = p.iris, italic = styles.italic },
|
h('TSProperty', { fg = p.iris, italic = maybe.italic })
|
||||||
TSPunctBracket = { fg = groups.punctuation },
|
h('TSPunctBracket', { fg = groups.punctuation })
|
||||||
TSPunctDelimiter = { fg = groups.punctuation },
|
h('TSPunctDelimiter', { fg = groups.punctuation })
|
||||||
TSPunctSpecial = { fg = groups.punctuation },
|
h('TSPunctSpecial', { fg = groups.punctuation })
|
||||||
-- TSRepeat = {},
|
-- TSRepeat = {},
|
||||||
-- TSStrike = {},
|
-- TSStrike = {},
|
||||||
TSString = { link = 'String' },
|
h('TSString', { link = 'String' })
|
||||||
TSStringEscape = { fg = p.pine },
|
h('TSStringEscape', { fg = p.pine })
|
||||||
-- TSStringRegex = {},
|
-- TSStringRegex = {},
|
||||||
TSStringSpecial = { link = 'TSString' },
|
h('TSStringSpecial', { link = 'TSString' })
|
||||||
-- TSSymbol = {},
|
-- TSSymbol = {},
|
||||||
TSTag = { fg = p.foam },
|
h('TSTag', { fg = p.foam })
|
||||||
TSTagDelimiter = { fg = p.subtle },
|
h('TSTagDelimiter', { fg = p.subtle })
|
||||||
TSText = { fg = p.text },
|
h('TSText', { fg = p.text })
|
||||||
TSTitle = { fg = groups.headings.h1, bold = true },
|
h('TSTitle', { fg = groups.headings.h1, bold = true })
|
||||||
TSType = { link = 'Type' },
|
h('TSType', { link = 'Type' })
|
||||||
-- TSTypeBuiltin = {},
|
-- TSTypeBuiltin = {},
|
||||||
TSURI = { fg = groups.link },
|
h('TSURI', { fg = groups.link })
|
||||||
-- TSUnderline = {},
|
-- TSUnderline = {},
|
||||||
TSVariable = { fg = p.text, italic = styles.italic },
|
h('TSVariable', { fg = p.text, italic = maybe.italic })
|
||||||
TSVariableBuiltin = { fg = p.love },
|
h('TSVariableBuiltin', { fg = p.love })
|
||||||
|
|
||||||
-- Treesitter
|
-- Treesitter
|
||||||
['@annotation'] = { link = 'PreProc' },
|
h('@annotation', { link = 'PreProc' })
|
||||||
['@attribute'] = { link = 'PreProc' },
|
h('@attribute', { link = 'PreProc' })
|
||||||
['@boolean'] = { link = 'Boolean' },
|
h('@boolean', { link = 'Boolean' })
|
||||||
['@character'] = { link = 'Character' },
|
h('@character', { link = 'Character' })
|
||||||
['@comment'] = { link = 'Comment' },
|
h('@comment', { link = 'Comment' })
|
||||||
['@conditional'] = { link = 'Conditional' },
|
h('@conditional', { link = 'Conditional' })
|
||||||
['@constant'] = { fg = p.foam },
|
h('@constant', { fg = p.foam })
|
||||||
['@constant.builtin'] = { fg = p.love },
|
h('@constant.builtin', { fg = p.love })
|
||||||
['@constructor'] = { fg = p.foam },
|
h('@constructor', { fg = p.foam })
|
||||||
['@field'] = { fg = p.foam },
|
h('@field', { fg = p.foam })
|
||||||
['@function'] = { fg = p.rose },
|
h('@function', { fg = p.rose })
|
||||||
['@function.builtin'] = { fg = p.love },
|
h('@function.builtin', { fg = p.love })
|
||||||
['@include'] = { fg = p.pine },
|
h('@include', { fg = p.pine })
|
||||||
['@keyword'] = { fg = p.pine },
|
h('@keyword', { fg = p.pine })
|
||||||
['@keyword.operator'] = { fg = p.subtle },
|
h('@keyword.operator', { fg = p.subtle })
|
||||||
['@label'] = { fg = p.foam },
|
h('@label', { fg = p.foam })
|
||||||
['@namespace'] = { link = 'Include' },
|
h('@namespace', { link = 'Include' })
|
||||||
['@number'] = { link = 'Number' },
|
h('@number', { link = 'Number' })
|
||||||
['@operator'] = { fg = p.subtle },
|
h('@operator', { fg = p.subtle })
|
||||||
['@parameter'] = { fg = p.iris, italic = styles.italic },
|
h('@parameter', { fg = p.iris, italic = maybe.italic })
|
||||||
['@property'] = { fg = p.iris, italic = styles.italic },
|
h('@property', { fg = p.iris, italic = maybe.italic })
|
||||||
['@punctuation.bracket'] = { fg = groups.punctuation },
|
h('@punctuation.bracket', { fg = groups.punctuation })
|
||||||
['@punctuation.delimiter'] = { fg = groups.punctuation },
|
h('@punctuation.delimiter', { fg = groups.punctuation })
|
||||||
['@punctuation.special'] = { fg = groups.punctuation },
|
h('@punctuation.special', { fg = groups.punctuation })
|
||||||
['@string'] = { link = 'String' },
|
h('@string', { link = 'String' })
|
||||||
['@string.escape'] = { fg = p.pine },
|
h('@string.escape', { fg = p.pine })
|
||||||
['@string.special'] = { link = '@string' },
|
h('@string.special', { link = '@string' })
|
||||||
['@symbol'] = { link = 'Identifier' },
|
h('@symbol', { link = 'Identifier' })
|
||||||
['@tag'] = { fg = p.foam },
|
h('@tag', { fg = p.foam })
|
||||||
['@tag.attribute'] = { link = '@property' },
|
h('@tag.attribute', { link = '@property' })
|
||||||
['@tag.delimiter'] = { fg = p.subtle },
|
h('@tag.delimiter', { fg = p.subtle })
|
||||||
['@text'] = { fg = p.text },
|
h('@text', { fg = p.text })
|
||||||
['@text.strong'] = { bold = true },
|
h('@text.strong', { bold = true })
|
||||||
['@text.emphasis'] = { italic = true },
|
h('@text.emphasis', { italic = true })
|
||||||
['@text.underline'] = { underline = true },
|
h('@text.underline', { underline = true })
|
||||||
['@text.strike'] = { strikethrough = true },
|
h('@text.strike', { strikethrough = true })
|
||||||
['@text.math'] = { link = 'Special' },
|
h('@text.math', { link = 'Special' })
|
||||||
['@text.environment'] = { link = 'Macro' },
|
h('@text.environment', { link = 'Macro' })
|
||||||
['@text.environment.name'] = { link = 'Type' },
|
h('@text.environment.name', { link = 'Type' })
|
||||||
['@text.title'] = { fg = groups.headings.h1, bold = true },
|
h('@text.title', { fg = groups.headings.h1, bold = true })
|
||||||
['@text.uri'] = { fg = groups.link },
|
h('@text.uri', { fg = groups.link })
|
||||||
['@text.note'] = { link = 'SpecialComment' },
|
h('@text.note', { link = 'SpecialComment' })
|
||||||
['@text.warning'] = { link = 'Todo' },
|
h('@text.warning', { link = 'Todo' })
|
||||||
['@text.danger'] = { link = 'WarningMsg' },
|
h('@text.danger', { link = 'WarningMsg' })
|
||||||
['@todo'] = { link = 'Todo' },
|
h('@todo', { link = 'Todo' })
|
||||||
['@type'] = { link = 'Type' },
|
h('@type', { link = 'Type' })
|
||||||
['@variable'] = { fg = p.text, italic = styles.italic },
|
h('@variable', { fg = p.text, italic = maybe.italic })
|
||||||
['@variable.builtin'] = { fg = p.love },
|
h('@variable.builtin', { fg = p.love })
|
||||||
|
|
||||||
-- vim.lsp.buf.document_highlight()
|
-- vim.lsp.buf.document_highlight()
|
||||||
LspReferenceText = { bg = p.highlight_med },
|
h('LspReferenceText', { bg = p.highlight_med })
|
||||||
LspReferenceRead = { bg = p.highlight_med },
|
h('LspReferenceRead', { bg = p.highlight_med })
|
||||||
LspReferenceWrite = { bg = p.highlight_med },
|
h('LspReferenceWrite', { bg = p.highlight_med })
|
||||||
|
|
||||||
-- lsp-highlight-codelens
|
-- lsp-highlight-codelens
|
||||||
LspCodeLens = { fg = p.subtle }, -- virtual text of code lens
|
h('LspCodeLens', { fg = p.subtle }) -- virtual text of code len
|
||||||
LspCodeLensSeparator = { fg = p.highlight_high }, -- separator between two or more code lens
|
h('LspCodeLensSeparator', { fg = p.highlight_high }) -- separator between two or more code len
|
||||||
|
|
||||||
-- romgrk/barbar.nvim
|
-- romgrk/barbar.nvim
|
||||||
BufferCurrent = { fg = p.text, bg = p.overlay },
|
h('BufferCurrent', { fg = p.text, bg = p.overlay })
|
||||||
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
|
h('BufferCurrentIndex', { fg = p.text, bg = p.overlay })
|
||||||
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
|
h('BufferCurrentMod', { fg = p.foam, bg = p.overlay })
|
||||||
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
|
h('BufferCurrentSign', { fg = p.subtle, bg = p.overlay })
|
||||||
BufferCurrentTarget = { fg = p.gold, bg = p.overlay },
|
h('BufferCurrentTarget', { fg = p.gold, bg = p.overlay })
|
||||||
BufferInactive = { fg = p.subtle },
|
h('BufferInactive', { fg = p.subtle })
|
||||||
BufferInactiveIndex = { fg = p.subtle },
|
h('BufferInactiveIndex', { fg = p.subtle })
|
||||||
BufferInactiveMod = { fg = p.foam },
|
h('BufferInactiveMod', { fg = p.foam })
|
||||||
BufferInactiveSign = { fg = p.muted },
|
h('BufferInactiveSign', { fg = p.muted })
|
||||||
BufferInactiveTarget = { fg = p.gold },
|
h('BufferInactiveTarget', { fg = p.gold })
|
||||||
BufferTabpageFill = { fg = groups.background, bg = groups.background },
|
h('BufferTabpageFill', { fg = p.base, bg = p.base })
|
||||||
BufferVisible = { fg = p.subtle },
|
h('BufferVisible', { fg = p.subtle })
|
||||||
BufferVisibleIndex = { fg = p.subtle },
|
h('BufferVisibleIndex', { fg = p.subtle })
|
||||||
BufferVisibleMod = { fg = p.foam },
|
h('BufferVisibleMod', { fg = p.foam })
|
||||||
BufferVisibleSign = { fg = p.muted },
|
h('BufferVisibleSign', { fg = p.muted })
|
||||||
BufferVisibleTarget = { fg = p.gold },
|
h('BufferVisibleTarget', { fg = p.gold })
|
||||||
|
|
||||||
-- lewis6991/gitsigns.nvim
|
-- lewis6991/gitsigns.nvim
|
||||||
GitSignsAdd = { fg = groups.git_add },
|
h('GitSignsAdd', { fg = groups.git_add })
|
||||||
GitSignsChange = { fg = groups.git_change },
|
h('GitSignsChange', { fg = groups.git_change })
|
||||||
GitSignsDelete = { fg = groups.git_delete },
|
h('GitSignsDelete', { fg = groups.git_delete })
|
||||||
SignAdd = { link = 'GitSignsAdd' },
|
h('SignAdd', { link = 'GitSignsAdd' })
|
||||||
SignChange = { link = 'GitSignsChange' },
|
h('SignChange', { link = 'GitSignsChange' })
|
||||||
SignDelete = { link = 'GitSignsDelete' },
|
h('SignDelete', { link = 'GitSignsDelete' })
|
||||||
|
|
||||||
-- mvllow/modes.nvim
|
-- mvllow/modes.nvim
|
||||||
ModesCopy = { bg = p.gold },
|
h('ModesCopy', { bg = p.gold })
|
||||||
ModesDelete = { bg = p.love },
|
h('ModesDelete', { bg = p.love })
|
||||||
ModesInsert = { bg = p.foam },
|
h('ModesInsert', { bg = p.foam })
|
||||||
ModesVisual = { bg = p.iris },
|
h('ModesVisual', { bg = p.iris })
|
||||||
|
|
||||||
-- kyazdani42/nvim-tree.lua
|
-- kyazdani42/nvim-tree.lua
|
||||||
NvimTreeEmptyFolderName = { fg = p.muted },
|
h('NvimTreeEmptyFolderName', { fg = p.muted })
|
||||||
NvimTreeFileDeleted = { fg = p.love },
|
h('NvimTreeFileDeleted', { fg = p.love })
|
||||||
NvimTreeFileDirty = { fg = p.rose },
|
h('NvimTreeFileDirty', { fg = p.rose })
|
||||||
NvimTreeFileMerge = { fg = p.iris },
|
h('NvimTreeFileMerge', { fg = p.iris })
|
||||||
NvimTreeFileNew = { fg = p.foam },
|
h('NvimTreeFileNew', { fg = p.foam })
|
||||||
NvimTreeFileRenamed = { fg = p.pine },
|
h('NvimTreeFileRenamed', { fg = p.pine })
|
||||||
NvimTreeFileStaged = { fg = p.iris },
|
h('NvimTreeFileStaged', { fg = p.iris })
|
||||||
NvimTreeFolderIcon = { fg = p.subtle },
|
h('NvimTreeFolderIcon', { fg = p.subtle })
|
||||||
NvimTreeFolderName = { fg = p.foam },
|
h('NvimTreeFolderName', { fg = p.foam })
|
||||||
NvimTreeGitDeleted = { fg = groups.git_delete },
|
h('NvimTreeGitDeleted', { fg = groups.git_delete })
|
||||||
NvimTreeGitDirty = { fg = groups.git_dirty },
|
h('NvimTreeGitDirty', { fg = groups.git_dirty })
|
||||||
NvimTreeGitIgnored = { fg = groups.git_ignore },
|
h('NvimTreeGitIgnored', { fg = groups.git_ignore })
|
||||||
NvimTreeGitMerge = { fg = groups.git_merge },
|
h('NvimTreeGitMerge', { fg = groups.git_merge })
|
||||||
NvimTreeGitNew = { fg = groups.git_add },
|
h('NvimTreeGitNew', { fg = groups.git_add })
|
||||||
NvimTreeGitRenamed = { fg = groups.git_rename },
|
h('NvimTreeGitRenamed', { fg = groups.git_rename })
|
||||||
NvimTreeGitStaged = { fg = groups.git_stage },
|
h('NvimTreeGitStaged', { fg = groups.git_stage })
|
||||||
NvimTreeImageFile = { fg = p.text },
|
h('NvimTreeImageFile', { fg = p.text })
|
||||||
NvimTreeNormal = { fg = p.text },
|
h('NvimTreeNormal', { fg = p.text })
|
||||||
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight_med },
|
h('NvimTreeOpenedFile', { fg = p.text, bg = p.highlight_med })
|
||||||
NvimTreeOpenedFolderName = { link = 'NvimTreeFolderName' },
|
h('NvimTreeOpenedFolderName', { link = 'NvimTreeFolderName' })
|
||||||
NvimTreeRootFolder = { fg = p.iris },
|
h('NvimTreeRootFolder', { fg = p.iris })
|
||||||
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
|
h('NvimTreeSpecialFile', { link = 'NvimTreeNormal' })
|
||||||
NvimTreeWindowPicker = { fg = groups.background, bg = p.iris },
|
h('NvimTreeWindowPicker', { fg = p.love, bg = p.love, blend = 10 })
|
||||||
|
|
||||||
-- folke/which-key.nvim
|
-- folke/which-key.nvim
|
||||||
WhichKey = { fg = p.iris },
|
h('WhichKey', { fg = p.iris })
|
||||||
WhichKeyGroup = { fg = p.foam },
|
h('WhichKeyGroup', { fg = p.foam })
|
||||||
WhichKeySeparator = { fg = p.subtle },
|
h('WhichKeySeparator', { fg = p.subtle })
|
||||||
WhichKeyDesc = { fg = p.gold },
|
h('WhichKeyDesc', { fg = p.gold })
|
||||||
WhichKeyFloat = { bg = groups.panel },
|
h('WhichKeyFloat', { bg = maybe.surface })
|
||||||
WhichKeyValue = { fg = p.rose },
|
h('WhichKeyValue', { fg = p.rose })
|
||||||
|
|
||||||
-- luka-reineke/indent-blankline.nvim
|
-- luka-reineke/indent-blankline.nvim
|
||||||
IndentBlanklineChar = { fg = p.muted },
|
h('IndentBlanklineChar', { fg = p.muted })
|
||||||
IndentBlanklineSpaceChar = { fg = p.muted },
|
h('IndentBlanklineSpaceChar', { fg = p.muted })
|
||||||
IndentBlanklineSpaceCharBlankline = { fg = p.muted },
|
h('IndentBlanklineSpaceCharBlankline', { fg = p.muted })
|
||||||
|
|
||||||
-- hrsh7th/nvim-cmp
|
-- hrsh7th/nvim-cmp
|
||||||
CmpItemAbbr = { fg = p.subtle },
|
h('CmpItemAbbr', { fg = p.subtle })
|
||||||
CmpItemAbbrDeprecated = { fg = p.subtle, strikethrough = true },
|
h('CmpItemAbbrDeprecated', { fg = p.subtle, strikethrough = true })
|
||||||
CmpItemAbbrMatch = { fg = p.text, bold = true },
|
h('CmpItemAbbrMatch', { fg = p.text, bold = true })
|
||||||
CmpItemAbbrMatchFuzzy = { fg = p.text, bold = true },
|
h('CmpItemAbbrMatchFuzzy', { fg = p.text, bold = true })
|
||||||
CmpItemKind = { fg = p.iris },
|
h('CmpItemKind', { fg = p.iris })
|
||||||
CmpItemKindClass = { fg = p.gold },
|
h('CmpItemKindClass', { fg = p.gold })
|
||||||
CmpItemKindFunction = { fg = p.iris },
|
h('CmpItemKindFunction', { fg = p.iris })
|
||||||
CmpItemKindInterface = { fg = p.gold },
|
h('CmpItemKindInterface', { fg = p.gold })
|
||||||
CmpItemKindMethod = { fg = p.iris },
|
h('CmpItemKindMethod', { fg = p.iris })
|
||||||
CmpItemKindSnippet = { fg = p.iris },
|
h('CmpItemKindSnippet', { fg = p.iris })
|
||||||
CmpItemKindVariable = { fg = p.foam },
|
h('CmpItemKindVariable', { fg = p.foam })
|
||||||
|
|
||||||
-- TimUntersberger/neogit
|
-- TimUntersberger/neogit
|
||||||
NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med },
|
h('NeogitDiffAddHighlight', { fg = p.foam, bg = p.highlight_med })
|
||||||
NeogitDiffContextHighlight = { bg = p.highlight_low },
|
h('NeogitDiffContextHighlight', { bg = p.highlight_low })
|
||||||
NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_med },
|
h('NeogitDiffDeleteHighlight', { fg = p.love, bg = p.highlight_med })
|
||||||
NeogitHunkHeader = { bg = p.highlight_low },
|
h('NeogitHunkHeader', { bg = p.highlight_low })
|
||||||
NeogitHunkHeaderHighlight = { bg = p.highlight_low },
|
h('NeogitHunkHeaderHighlight', { bg = p.highlight_low })
|
||||||
|
|
||||||
-- vimwiki/vimwiki
|
-- vimwiki/vimwiki
|
||||||
VimwikiHR = { fg = p.subtle },
|
h('VimwikiHR', { fg = p.subtle })
|
||||||
VimwikiHeader1 = { fg = groups.headings.h1, bold = true },
|
h('VimwikiHeader1', { fg = groups.headings.h1, bold = true })
|
||||||
VimwikiHeader2 = { fg = groups.headings.h2, bold = true },
|
h('VimwikiHeader2', { fg = groups.headings.h2, bold = true })
|
||||||
VimwikiHeader3 = { fg = groups.headings.h3, bold = true },
|
h('VimwikiHeader3', { fg = groups.headings.h3, bold = true })
|
||||||
VimwikiHeader4 = { fg = groups.headings.h4, bold = true },
|
h('VimwikiHeader4', { fg = groups.headings.h4, bold = true })
|
||||||
VimwikiHeader5 = { fg = groups.headings.h5, bold = true },
|
h('VimwikiHeader5', { fg = groups.headings.h5, bold = true })
|
||||||
VimwikiHeader6 = { fg = groups.headings.h6, bold = true },
|
h('VimwikiHeader6', { fg = groups.headings.h6, bold = true })
|
||||||
VimwikiHeaderChar = { fg = p.pine },
|
h('VimwikiHeaderChar', { fg = p.pine })
|
||||||
VimwikiLink = { fg = groups.link, underline = true },
|
h('VimwikiLink', { fg = groups.link, underline = true })
|
||||||
VimwikiList = { fg = p.iris },
|
h('VimwikiList', { fg = p.iris })
|
||||||
VimwikiNoExistsLink = { fg = p.love },
|
h('VimwikiNoExistsLink', { fg = p.love })
|
||||||
|
|
||||||
-- nvim-neorg/neorg
|
-- nvim-neorg/neorg
|
||||||
NeorgHeading1Prefix = { fg = groups.headings.h1, bold = true },
|
h('NeorgHeading1Prefix', { fg = groups.headings.h1, bold = true })
|
||||||
NeorgHeading1Title = { link = 'NeorgHeading1Prefix' },
|
h('NeorgHeading1Title', { link = 'NeorgHeading1Prefix' })
|
||||||
NeorgHeading2Prefix = { fg = groups.headings.h2, bold = true },
|
h('NeorgHeading2Prefix', { fg = groups.headings.h2, bold = true })
|
||||||
NeorgHeading2Title = { link = 'NeorgHeading2Prefix' },
|
h('NeorgHeading2Title', { link = 'NeorgHeading2Prefix' })
|
||||||
NeorgHeading3Prefix = { fg = groups.headings.h3, bold = true },
|
h('NeorgHeading3Prefix', { fg = groups.headings.h3, bold = true })
|
||||||
NeorgHeading3Title = { link = 'NeorgHeading3Prefix' },
|
h('NeorgHeading3Title', { link = 'NeorgHeading3Prefix' })
|
||||||
NeorgHeading4Prefix = { fg = groups.headings.h4, bold = true },
|
h('NeorgHeading4Prefix', { fg = groups.headings.h4, bold = true })
|
||||||
NeorgHeading4Title = { link = 'NeorgHeading4Prefix' },
|
h('NeorgHeading4Title', { link = 'NeorgHeading4Prefix' })
|
||||||
NeorgHeading5Prefix = { fg = groups.headings.h5, bold = true },
|
h('NeorgHeading5Prefix', { fg = groups.headings.h5, bold = true })
|
||||||
NeorgHeading5Title = { link = 'NeorgHeading5Prefix' },
|
h('NeorgHeading5Title', { link = 'NeorgHeading5Prefix' })
|
||||||
NeorgHeading6Prefix = { fg = groups.headings.h6, bold = true },
|
h('NeorgHeading6Prefix', { fg = groups.headings.h6, bold = true })
|
||||||
NeorgHeading6Title = { link = 'NeorgHeading6Prefix' },
|
h('NeorgHeading6Title', { link = 'NeorgHeading6Prefix' })
|
||||||
NeorgMarkerTitle = { fg = p.text, bold = true },
|
h('NeorgMarkerTitle', { fg = p.text, bold = true })
|
||||||
|
|
||||||
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
|
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
|
||||||
DefinitionCount = { fg = p.rose },
|
h('DefinitionCount', { fg = p.rose })
|
||||||
DefinitionIcon = { fg = p.rose },
|
h('DefinitionIcon', { fg = p.rose })
|
||||||
DefintionPreviewTitle = { fg = p.rose, bold = true },
|
h('DefintionPreviewTitle', { fg = p.rose, bold = true })
|
||||||
LspFloatWinBorder = { fg = groups.border },
|
h('LspFloatWinBorder', { fg = groups.border })
|
||||||
LspFloatWinNormal = { bg = groups.background },
|
h('LspFloatWinNormal', { bg = maybe.surface })
|
||||||
LspSagaAutoPreview = { fg = p.subtle },
|
h('LspSagaAutoPreview', { fg = p.subtle })
|
||||||
LspSagaCodeActionBorder = { fg = groups.border },
|
h('LspSagaCodeActionBorder', { fg = groups.border })
|
||||||
LspSagaCodeActionContent = { fg = p.foam },
|
h('LspSagaCodeActionContent', { fg = p.foam })
|
||||||
LspSagaCodeActionTitle = { fg = p.gold, bold = true },
|
h('LspSagaCodeActionTitle', { fg = p.gold, bold = true })
|
||||||
LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' },
|
h('LspSagaCodeActionTruncateLine', { link = 'LspSagaCodeActionBorder' })
|
||||||
LspSagaDefPreviewBorder = { fg = groups.border },
|
h('LspSagaDefPreviewBorder', { fg = groups.border })
|
||||||
LspSagaDiagnosticBorder = { fg = groups.border },
|
h('LspSagaDiagnosticBorder', { fg = groups.border })
|
||||||
LspSagaDiagnosticHeader = { fg = p.gold, bold = true },
|
h('LspSagaDiagnosticHeader', { fg = p.gold, bold = true })
|
||||||
LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' },
|
h('LspSagaDiagnosticTruncateLine', { link = 'LspSagaDiagnosticBorder' })
|
||||||
LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' },
|
h('LspSagaDocTruncateLine', { link = 'LspSagaHoverBorder' })
|
||||||
LspSagaFinderSelection = { fg = p.gold },
|
h('LspSagaFinderSelection', { fg = p.gold })
|
||||||
LspSagaHoverBorder = { fg = groups.border },
|
h('LspSagaHoverBorder', { fg = groups.border })
|
||||||
LspSagaLspFinderBorder = { fg = groups.border },
|
h('LspSagaLspFinderBorder', { fg = groups.border })
|
||||||
LspSagaRenameBorder = { fg = p.pine },
|
h('LspSagaRenameBorder', { fg = p.pine })
|
||||||
LspSagaRenamePromptPrefix = { fg = p.love },
|
h('LspSagaRenamePromptPrefix', { fg = p.love })
|
||||||
LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' },
|
h('LspSagaShTruncateLine', { link = 'LspSagaSignatureHelpBorder' })
|
||||||
LspSagaSignatureHelpBorder = { fg = p.pine },
|
h('LspSagaSignatureHelpBorder', { fg = p.pine })
|
||||||
ReferencesCount = { fg = p.rose },
|
h('ReferencesCount', { fg = p.rose })
|
||||||
ReferencesIcon = { fg = p.rose },
|
h('ReferencesIcon', { fg = p.rose })
|
||||||
SagaShadow = { bg = p.overlay },
|
h('SagaShadow', { bg = p.overlay })
|
||||||
TargetWord = { fg = p.iris },
|
h('TargetWord', { fg = p.iris })
|
||||||
|
|
||||||
-- ray-x/lsp_signature.nvim
|
-- ray-x/lsp_signature.nvim
|
||||||
LspSignatureActiveParameter = { bg = p.overlay },
|
h('LspSignatureActiveParameter', { bg = p.overlay })
|
||||||
|
|
||||||
-- rlane/pounce.nvim
|
-- rlane/pounce.nvim
|
||||||
PounceAccept = { fg = p.love, bg = p.highlight_high },
|
h('PounceAccept', { fg = p.love, bg = p.highlight_high })
|
||||||
PounceAcceptBest = { fg = p.base, bg = p.gold },
|
h('PounceAcceptBest', { fg = p.base, bg = p.gold })
|
||||||
PounceGap = { link = 'Search' },
|
h('PounceGap', { link = 'Search' })
|
||||||
PounceMatch = { link = 'Search' },
|
h('PounceMatch', { link = 'Search' })
|
||||||
|
|
||||||
-- nvim-telescope/telescope.nvim
|
-- nvim-telescope/telescope.nvim
|
||||||
TelescopeBorder = { fg = groups.border, bg = styles.float_background },
|
h('TelescopeBorder', { fg = groups.border, bg = maybe.surface })
|
||||||
TelescopeMatching = { fg = p.rose },
|
h('TelescopeMatching', { fg = p.rose })
|
||||||
TelescopeNormal = { fg = p.subtle, bg = styles.float_background },
|
h('TelescopeNormal', { fg = p.subtle, bg = maybe.surface })
|
||||||
TelescopePromptNormal = { fg = p.text, bg = styles.float_background },
|
h('TelescopePromptNormal', { fg = p.text, bg = maybe.surface })
|
||||||
TelescopePromptPrefix = { fg = p.subtle },
|
h('TelescopePromptPrefix', { fg = p.subtle })
|
||||||
TelescopeSelection = { fg = p.text, bg = p.overlay },
|
h('TelescopeSelection', { fg = p.text, bg = p.overlay })
|
||||||
TelescopeSelectionCaret = { fg = p.rose, bg = p.overlay },
|
h('TelescopeSelectionCaret', { fg = p.rose, bg = p.overlay })
|
||||||
TelescopeTitle = { fg = p.subtle },
|
h('TelescopeTitle', { fg = p.subtle })
|
||||||
|
|
||||||
-- rcarriga/nvim-notify
|
-- rcarriga/nvim-notify
|
||||||
NotifyINFOBorder = { fg = p.foam },
|
h('NotifyINFOBorder', { fg = p.foam })
|
||||||
NotifyINFOTitle = { link = 'NotifyINFOBorder' },
|
h('NotifyINFOTitle', { link = 'NotifyINFOBorder' })
|
||||||
NotifyINFOIcon = { link = 'NotifyINFOBorder' },
|
h('NotifyINFOIcon', { link = 'NotifyINFOBorder' })
|
||||||
NotifyWARNBorder = { fg = p.gold },
|
h('NotifyWARNBorder', { fg = p.gold })
|
||||||
NotifyWARNTitle = { link = 'NotifyWARNBorder' },
|
h('NotifyWARNTitle', { link = 'NotifyWARNBorder' })
|
||||||
NotifyWARNIcon = { link = 'NotifyWARNBorder' },
|
h('NotifyWARNIcon', { link = 'NotifyWARNBorder' })
|
||||||
NotifyDEBUGBorder = { fg = p.muted },
|
h('NotifyDEBUGBorder', { fg = p.muted })
|
||||||
NotifyDEBUGTitle = { link = 'NotifyDEBUGBorder' },
|
h('NotifyDEBUGTitle', { link = 'NotifyDEBUGBorder' })
|
||||||
NotifyDEBUGIcon = { link = 'NotifyDEBUGBorder' },
|
h('NotifyDEBUGIcon', { link = 'NotifyDEBUGBorder' })
|
||||||
NotifyTRACEBorder = { fg = p.iris },
|
h('NotifyTRACEBorder', { fg = p.iris })
|
||||||
NotifyTRACETitle = { link = 'NotifyTRACEBorder' },
|
h('NotifyTRACETitle', { link = 'NotifyTRACEBorder' })
|
||||||
NotifyTRACEIcon = { link = 'NotifyTRACEBorder' },
|
h('NotifyTRACEIcon', { link = 'NotifyTRACEBorder' })
|
||||||
NotifyERRORBorder = { fg = p.love },
|
h('NotifyERRORBorder', { fg = p.love })
|
||||||
NotifyERRORTitle = { link = 'NotifyERRORBorder' },
|
h('NotifyERRORTitle', { link = 'NotifyERRORBorder' })
|
||||||
NotifyERRORIcon = { link = 'NotifyERRORBorder' },
|
h('NotifyERRORIcon', { link = 'NotifyERRORBorder' })
|
||||||
|
|
||||||
-- rcarriga/nvim-dap-ui
|
-- rcarriga/nvim-dap-ui
|
||||||
DapUIVariable = { link = 'Normal' },
|
h('DapUIVariable', { link = 'Normal' })
|
||||||
DapUIValue = { link = 'Normal' },
|
h('DapUIValue', { link = 'Normal' })
|
||||||
DapUIFrameName = { link = 'Normal' },
|
h('DapUIFrameName', { link = 'Normal' })
|
||||||
DapUIThread = { fg = p.gold },
|
h('DapUIThread', { fg = p.gold })
|
||||||
DapUIWatchesValue = { link = 'DapUIThread' },
|
h('DapUIWatchesValue', { link = 'DapUIThread' })
|
||||||
DapUIBreakpointsInfo = { link = 'DapUIThread' },
|
h('DapUIBreakpointsInfo', { link = 'DapUIThread' })
|
||||||
DapUIBreakpointsCurrentLine = { fg = p.gold, bold = true },
|
h('DapUIBreakpointsCurrentLine', { fg = p.gold, bold = true })
|
||||||
DapUIWatchesEmpty = { fg = p.love },
|
h('DapUIWatchesEmpty', { fg = p.love })
|
||||||
DapUIWatchesError = { link = 'DapUIWatchesEmpty' },
|
h('DapUIWatchesError', { link = 'DapUIWatchesEmpty' })
|
||||||
DapUIBreakpointsDisabledLine = { fg = p.muted },
|
h('DapUIBreakpointsDisabledLine', { fg = p.muted })
|
||||||
DapUISource = { fg = p.iris },
|
h('DapUISource', { fg = p.iris })
|
||||||
DapUIBreakpointsPath = { fg = p.foam },
|
h('DapUIBreakpointsPath', { fg = p.foam })
|
||||||
DapUIScope = { link = 'DapUIBreakpointsPath' },
|
h('DapUIScope', { link = 'DapUIBreakpointsPath' })
|
||||||
DapUILineNumber = { link = 'DapUIBreakpointsPath' },
|
h('DapUILineNumber', { link = 'DapUIBreakpointsPath' })
|
||||||
DapUIBreakpointsLine = { link = 'DapUIBreakpointsPath' },
|
h('DapUIBreakpointsLine', { link = 'DapUIBreakpointsPath' })
|
||||||
DapUIFloatBorder = { link = 'DapUIBreakpointsPath' },
|
h('DapUIFloatBorder', { link = 'DapUIBreakpointsPath' })
|
||||||
DapUIStoppedThread = { link = 'DapUIBreakpointsPath' },
|
h('DapUIStoppedThread', { link = 'DapUIBreakpointsPath' })
|
||||||
DapUIDecoration = { link = 'DapUIBreakpointsPath' },
|
h('DapUIDecoration', { link = 'DapUIBreakpointsPath' })
|
||||||
DapUIModifiedValue = { fg = p.foam, bold = true },
|
h('DapUIModifiedValue', { fg = p.foam, bold = true })
|
||||||
|
|
||||||
-- glepnir/dashboard-nvim
|
-- glepnir/dashboard-nvim
|
||||||
DashboardShortcut = { fg = p.love },
|
h('DashboardShortcut', { fg = p.love })
|
||||||
DashboardHeader = { fg = p.pine },
|
h('DashboardHeader', { fg = p.pine })
|
||||||
DashboardCenter = { fg = p.gold },
|
h('DashboardCenter', { fg = p.gold })
|
||||||
DashboardFooter = { fg = p.iris },
|
h('DashboardFooter', { fg = p.iris })
|
||||||
}
|
|
||||||
|
|
||||||
vim.g.terminal_color_0 = p.overlay -- black
|
vim.g.terminal_color_0 = p.overlay -- black
|
||||||
vim.g.terminal_color_8 = p.subtle -- bright black
|
vim.g.terminal_color_8 = p.subtle -- bright black
|
||||||
|
|
@ -534,7 +532,10 @@ function M.get(config)
|
||||||
vim.g.terminal_color_7 = p.text -- white
|
vim.g.terminal_color_7 = p.text -- white
|
||||||
vim.g.terminal_color_15 = p.text -- bright white
|
vim.g.terminal_color_15 = p.text -- bright white
|
||||||
|
|
||||||
return theme
|
-- Set user highlights
|
||||||
|
for group, color in pairs(options.highlight_groups) do
|
||||||
|
h(group, color)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue