This commit is contained in:
Eric Xiao 2022-10-21 10:44:47 -07:00
commit 1b8b98e194
9 changed files with 820 additions and 820 deletions

View file

@ -1,18 +1,18 @@
local p = require('rose-pine.palette')
return {
normal = {
a = {bg = p.surface, fg = p.rose, gui = 'bold'},
b = {bg = p.surface, fg = p.text},
c = {bg = p.surface, fg = p.subtle, gui = 'italic'}
},
insert = {a = {bg = p.surface, fg = p.foam, gui = 'bold'}},
visual = {a = {bg = p.surface, fg = p.iris, gui = 'bold'}},
replace = {a = {bg = p.surface, fg = p.pine, gui = 'bold'}},
command = {a = {bg = p.surface, fg = p.love, gui = 'bold'}},
inactive = {
a = {bg = p.base, fg = p.subtle, gui = 'bold'},
b = {bg = p.base, fg = p.subtle},
c = {bg = p.base, fg = p.subtle, gui = 'italic'}
}
normal = {
a = {bg = p.surface, fg = p.rose, gui = 'bold'},
b = {bg = p.surface, fg = p.text},
c = {bg = p.surface, fg = p.subtle, gui = 'italic'}
},
insert = {a = {bg = p.surface, fg = p.foam, gui = 'bold'}},
visual = {a = {bg = p.surface, fg = p.iris, gui = 'bold'}},
replace = {a = {bg = p.surface, fg = p.pine, gui = 'bold'}},
command = {a = {bg = p.surface, fg = p.love, gui = 'bold'}},
inactive = {
a = {bg = p.base, fg = p.subtle, gui = 'bold'},
b = {bg = p.base, fg = p.subtle},
c = {bg = p.base, fg = p.subtle, gui = 'italic'}
}
}

View file

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

View file

@ -3,15 +3,15 @@ local util = require('rose-pine.util')
local M = {}
function M.colorscheme()
if vim.g.colors_name then vim.cmd('hi clear') end
if vim.g.colors_name then vim.cmd('hi clear') end
vim.opt.termguicolors = true
vim.g.colors_name = 'rose-pine'
vim.opt.termguicolors = true
vim.g.colors_name = 'rose-pine'
local theme = require('rose-pine.theme').get()
local theme = require('rose-pine.theme').get()
-- Set theme highlights
for group, color in pairs(theme) do util.highlight(group, color) end
-- Set theme highlights
for group, color in pairs(theme) do util.highlight(group, color) end
end
return M

View file

@ -1,23 +1,23 @@
local palette = {
base = '#171524',
surface = '#1f1d2e',
overlay = '#26233a',
muted = '#6e6a86',
subtle = '#908caa',
text = '#e0def4',
love = '#e89b9f',
gold = '#f69957',
-- rose = '#ebbcba',
rose = '#ff79b1',
calm = '#23ff87',
pine = '#cd51d5',
foam = '#9ccfd8',
iris = '#c4a7e7',
cold = '#967de5',
highlight_low = '#21202e',
highlight_med = '#403d52',
highlight_high = '#524f67',
none = 'NONE'
base = '#171524',
surface = '#1f1d2e',
overlay = '#26233a',
muted = '#6e6a86',
subtle = '#908caa',
text = '#e0def4',
love = '#e89b9f',
gold = '#f69957',
-- rose = '#ebbcba',
rose = '#ff79b1',
calm = '#23ff87',
pine = '#cd51d5',
foam = '#9ccfd8',
iris = '#c4a7e7',
cold = '#967de5',
highlight_low = '#21202e',
highlight_med = '#403d52',
highlight_high = '#524f67',
none = 'NONE'
}
return palette

View file

@ -7,199 +7,199 @@
local p = require('rose-pine.palette')
return {
-- fill = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- background = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- tab = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- tab_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- tab_close = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- close_button = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- close_button_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- close_button_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
buffer_visible = {guifg = p.subtle, guibg = p.base},
buffer_selected = {guifg = p.text, guibg = p.surface, gui = 'bold,italic'}
-- diagnostic = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- info = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- info_diagnostic = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- warning = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- warning_diagnostic = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = warning_diagnostic_fg,
-- },
-- error = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- },
-- error_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- error_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- error_diagnostic = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- },
-- error_diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- error_diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- modified = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- modified_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- modified_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- duplicate_selected = {
-- guifg = '<color-value-here>',
-- gui = 'italic',
-- guibg = '<color-value-here>',
-- },
-- duplicate_visible = {
-- guifg = '<color-value-here>',
-- gui = 'italic',
-- guibg = '<color-value-here>',
-- },
-- duplicate = {
-- guifg = '<color-value-here>',
-- gui = 'italic',
-- guibg = '<color-value-here>',
-- },
-- separator_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- separator_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- separator = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- indicator_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- pick_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- pick_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- pick = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- fill = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- background = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- tab = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- tab_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- tab_close = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- close_button = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- close_button_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- close_button_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
buffer_visible = {guifg = p.subtle, guibg = p.base},
buffer_selected = {guifg = p.text, guibg = p.surface, gui = 'bold,italic'}
-- diagnostic = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- info = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- info_diagnostic = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- info_diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- warning = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- warning_diagnostic = {
-- guifg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- warning_diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = warning_diagnostic_fg,
-- },
-- error = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- },
-- error_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- error_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- error_diagnostic = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- guisp = '<color-value-here>',
-- },
-- error_diagnostic_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- error_diagnostic_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- guisp = '<color-value-here>',
-- },
-- modified = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- modified_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- modified_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- duplicate_selected = {
-- guifg = '<color-value-here>',
-- gui = 'italic',
-- guibg = '<color-value-here>',
-- },
-- duplicate_visible = {
-- guifg = '<color-value-here>',
-- gui = 'italic',
-- guibg = '<color-value-here>',
-- },
-- duplicate = {
-- guifg = '<color-value-here>',
-- gui = 'italic',
-- guibg = '<color-value-here>',
-- },
-- separator_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- separator_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- separator = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- indicator_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- },
-- pick_selected = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- pick_visible = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
-- pick = {
-- guifg = '<color-value-here>',
-- guibg = '<color-value-here>',
-- gui = 'bold,italic',
-- },
}

View file

@ -6,14 +6,14 @@
local p = require('rose-pine.palette')
return {
bg = p.surface,
fg = p.text,
fg_alt = p.subtle,
yellow = p.gold,
cyan = p.rose,
green = p.pine,
orange = p.muted,
magenta = p.iris,
blue = p.foam,
red = p.love
bg = p.surface,
fg = p.text,
fg_alt = p.subtle,
yellow = p.gold,
cyan = p.rose,
green = p.pine,
orange = p.muted,
magenta = p.iris,
blue = p.foam,
red = p.love
}

View file

@ -5,10 +5,10 @@
--- local highlights = require('rose-pine.plugins.toggleterm')
--- require('toggleterm').setup({ highlights = highlights })
return {
Normal = {link = 'Normal'},
NormalFloat = {link = 'Normal'},
FloatBorder = {link = 'FloatBorder'},
SignColumn = {link = 'SignColumn'},
StatusLine = {link = 'StatusLine'},
StatusLineNC = {link = 'StatusLineNC'}
Normal = {link = 'Normal'},
NormalFloat = {link = 'Normal'},
FloatBorder = {link = 'FloatBorder'},
SignColumn = {link = 'SignColumn'},
StatusLine = {link = 'StatusLine'},
StatusLineNC = {link = 'StatusLineNC'}
}

View file

@ -3,518 +3,518 @@ local blend = require('rose-pine.util').blend
local M = {}
function M.get()
local p = require('rose-pine.palette')
local p = require('rose-pine.palette')
local theme = {}
local groups = {
background = 'base',
panel = 'surface',
border = 'highlight_med',
comment = 'muted',
link = 'iris',
punctuation = 'muted',
local theme = {}
local groups = {
background = 'base',
panel = 'surface',
border = 'highlight_med',
comment = 'muted',
link = 'iris',
punctuation = 'muted',
error = 'love',
hint = 'iris',
info = 'foam',
warn = 'gold',
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',
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'
}
headings = {
h1 = 'iris',
h2 = 'foam',
h3 = 'rose',
h4 = 'gold',
h5 = 'pine',
h6 = 'foam'
}
}
local styles = {
italic = 'italic',
vert_split = p.none,
background = groups.background,
float_background = groups.panel
}
styles.nc_background = styles.background
local styles = {
italic = 'italic',
vert_split = p.none,
background = groups.background,
float_background = groups.panel
}
styles.nc_background = styles.background
theme = {
ColorColumn = {bg = p.overlay},
Conceal = {bg = p.none},
CurSearch = {link = 'IncSearch'},
-- Cursor = {},
CursorColumn = {bg = p.highlight_low},
-- CursorIM = {},
CursorLine = {bg = p.highlight_low},
CursorLineNr = {fg = p.text},
DarkenedPanel = {bg = groups.panel},
DarkenedStatusline = {bg = groups.panel},
DiffAdd = {bg = blend(groups.git_add, groups.background, 0.5)},
DiffChange = {bg = p.overlay},
DiffDelete = {bg = blend(groups.git_delete, groups.background, 0.5)},
DiffText = {bg = blend(groups.git_text, groups.background, 0.5)},
diffAdded = {link = 'DiffAdd'},
diffChanged = {link = 'DiffChange'},
diffRemoved = {link = 'DiffDelete'},
Directory = {fg = p.foam, bg = p.none},
-- EndOfBuffer = {},
ErrorMsg = {fg = p.love, style = 'bold'},
FloatBorder = {fg = groups.border},
FloatTitle = {fg = p.muted},
FoldColumn = {fg = p.muted},
Folded = {fg = p.text, bg = groups.panel},
IncSearch = {fg = p.base, bg = p.rose},
-- LineNr = {fg = p.muted},
LineNr = {fg = p.subtle},
MatchParen = {fg = p.text, bg = p.highlight_med},
ModeMsg = {fg = p.subtle},
MoreMsg = {fg = p.iris},
NonText = {fg = p.muted},
Normal = {fg = p.text, bg = styles.background},
NormalFloat = {fg = p.text, bg = styles.float_background},
NormalNC = {fg = p.text, bg = styles.nc_background},
NvimInternalError = {fg = '#ffffff', bg = p.love},
Pmenu = {fg = p.subtle, bg = styles.float_background},
PmenuSbar = {bg = p.highlight_low},
PmenuSel = {fg = p.text, bg = p.overlay},
PmenuThumb = {bg = p.highlight_med},
Question = {fg = p.gold},
-- QuickFixLine = {},
-- RedrawDebugNormal = {}
RedrawDebugClear = {fg = '#ffffff', bg = p.gold},
RedrawDebugComposed = {fg = '#ffffff', bg = p.pine},
RedrawDebugRecompose = {fg = '#ffffff', bg = p.love},
Search = {bg = p.highlight_med},
SpecialKey = {fg = p.foam},
SpellBad = {sp = p.subtle, style = 'undercurl'},
SpellCap = {sp = p.subtle, style = 'undercurl'},
SpellLocal = {sp = p.subtle, style = 'undercurl'},
SpellRare = {sp = p.subtle, style = 'undercurl'},
SignColumn = {fg = p.text, bg = styles.background},
StatusLine = {fg = p.subtle, bg = styles.float_background},
StatusLineNC = {fg = p.muted, bg = styles.background},
StatusLineTerm = {link = 'StatusLine'},
StatusLineTermNC = {link = 'StatusLineNC'},
TabLine = {fg = p.subtle, bg = styles.float_background},
TabLineFill = {bg = styles.float_background},
TabLineSel = {fg = p.text, bg = p.overlay},
Title = {fg = p.text},
VertSplit = {fg = groups.border, bg = styles.vert_split},
Visual = {bg = p.highlight_med},
-- VisualNOS = {},
WarningMsg = {fg = p.gold},
-- Whitespace = {},
WildMenu = {link = 'IncSearch'},
theme = {
ColorColumn = {bg = p.overlay},
Conceal = {bg = p.none},
CurSearch = {link = 'IncSearch'},
-- Cursor = {},
CursorColumn = {bg = p.highlight_low},
-- CursorIM = {},
CursorLine = {bg = p.highlight_low},
CursorLineNr = {fg = p.text},
DarkenedPanel = {bg = groups.panel},
DarkenedStatusline = {bg = groups.panel},
DiffAdd = {bg = blend(groups.git_add, groups.background, 0.5)},
DiffChange = {bg = p.overlay},
DiffDelete = {bg = blend(groups.git_delete, groups.background, 0.5)},
DiffText = {bg = blend(groups.git_text, groups.background, 0.5)},
diffAdded = {link = 'DiffAdd'},
diffChanged = {link = 'DiffChange'},
diffRemoved = {link = 'DiffDelete'},
Directory = {fg = p.foam, bg = p.none},
-- EndOfBuffer = {},
ErrorMsg = {fg = p.love, style = 'bold'},
FloatBorder = {fg = groups.border},
FloatTitle = {fg = p.muted},
FoldColumn = {fg = p.muted},
Folded = {fg = p.text, bg = groups.panel},
IncSearch = {fg = p.base, bg = p.rose},
-- LineNr = {fg = p.muted},
LineNr = {fg = p.subtle},
MatchParen = {fg = p.text, bg = p.highlight_med},
ModeMsg = {fg = p.subtle},
MoreMsg = {fg = p.iris},
NonText = {fg = p.muted},
Normal = {fg = p.text, bg = styles.background},
NormalFloat = {fg = p.text, bg = styles.float_background},
NormalNC = {fg = p.text, bg = styles.nc_background},
NvimInternalError = {fg = '#ffffff', bg = p.love},
Pmenu = {fg = p.subtle, bg = styles.float_background},
PmenuSbar = {bg = p.highlight_low},
PmenuSel = {fg = p.text, bg = p.overlay},
PmenuThumb = {bg = p.highlight_med},
Question = {fg = p.gold},
-- QuickFixLine = {},
-- RedrawDebugNormal = {}
RedrawDebugClear = {fg = '#ffffff', bg = p.gold},
RedrawDebugComposed = {fg = '#ffffff', bg = p.pine},
RedrawDebugRecompose = {fg = '#ffffff', bg = p.love},
Search = {bg = p.highlight_med},
SpecialKey = {fg = p.foam},
SpellBad = {sp = p.subtle, style = 'undercurl'},
SpellCap = {sp = p.subtle, style = 'undercurl'},
SpellLocal = {sp = p.subtle, style = 'undercurl'},
SpellRare = {sp = p.subtle, style = 'undercurl'},
SignColumn = {fg = p.text, bg = styles.background},
StatusLine = {fg = p.subtle, bg = styles.float_background},
StatusLineNC = {fg = p.muted, bg = styles.background},
StatusLineTerm = {link = 'StatusLine'},
StatusLineTermNC = {link = 'StatusLineNC'},
TabLine = {fg = p.subtle, bg = styles.float_background},
TabLineFill = {bg = styles.float_background},
TabLineSel = {fg = p.text, bg = p.overlay},
Title = {fg = p.text},
VertSplit = {fg = groups.border, bg = styles.vert_split},
Visual = {bg = p.highlight_med},
-- VisualNOS = {},
WarningMsg = {fg = p.gold},
-- Whitespace = {},
WildMenu = {link = 'IncSearch'},
Boolean = {fg = p.rose},
Character = {fg = p.gold},
Comment = {fg = groups.comment, style = styles.italic},
Conditional = {fg = p.pine},
Constant = {fg = p.gold},
Debug = {fg = p.rose},
Define = {fg = p.iris},
Delimiter = {fg = p.subtle},
Error = {fg = p.love},
Exception = {fg = p.pine},
Float = {fg = p.gold},
Function = {fg = p.rose},
Identifier = {fg = p.rose},
-- Ignore = {},
Include = {fg = p.iris},
Keyword = {fg = p.pine},
Label = {fg = p.foam},
Macro = {fg = p.iris},
Number = {fg = p.gold},
Operator = {fg = p.subtle},
PreCondit = {fg = p.iris},
PreProc = {fg = p.iris},
Repeat = {fg = p.pine},
Special = {fg = p.rose},
SpecialChar = {fg = p.rose},
SpecialComment = {fg = p.iris},
Statement = {fg = p.pine},
StorageClass = {fg = p.foam},
String = {fg = p.calm},
Structure = {fg = p.foam},
Tag = {fg = p.rose},
Todo = {fg = p.iris},
Type = {fg = p.foam},
Typedef = {fg = p.foam},
Underlined = {style = 'underline'},
Boolean = {fg = p.rose},
Character = {fg = p.gold},
Comment = {fg = groups.comment, style = styles.italic},
Conditional = {fg = p.pine},
Constant = {fg = p.gold},
Debug = {fg = p.rose},
Define = {fg = p.iris},
Delimiter = {fg = p.subtle},
Error = {fg = p.love},
Exception = {fg = p.pine},
Float = {fg = p.gold},
Function = {fg = p.rose},
Identifier = {fg = p.rose},
-- Ignore = {},
Include = {fg = p.iris},
Keyword = {fg = p.pine},
Label = {fg = p.foam},
Macro = {fg = p.iris},
Number = {fg = p.gold},
Operator = {fg = p.subtle},
PreCondit = {fg = p.iris},
PreProc = {fg = p.iris},
Repeat = {fg = p.pine},
Special = {fg = p.rose},
SpecialChar = {fg = p.rose},
SpecialComment = {fg = p.iris},
Statement = {fg = p.pine},
StorageClass = {fg = p.foam},
String = {fg = p.calm},
Structure = {fg = p.foam},
Tag = {fg = p.rose},
Todo = {fg = p.iris},
Type = {fg = p.foam},
Typedef = {fg = p.foam},
Underlined = {style = 'underline'},
htmlArg = {fg = p.iris},
htmlBold = {style = 'bold'},
htmlEndTag = {fg = p.subtle},
htmlH1 = {fg = groups.headings.h1, style = 'bold'},
htmlH2 = {fg = groups.headings.h2, style = 'bold'},
htmlH3 = {fg = groups.headings.h3, style = 'bold'},
htmlH4 = {fg = groups.headings.h4, style = 'bold'},
htmlH5 = {fg = groups.headings.h5, style = 'bold'},
htmlItalic = {style = styles.italic},
htmlLink = {fg = groups.link},
htmlTag = {fg = p.subtle},
htmlTagN = {fg = p.text},
htmlTagName = {fg = p.foam},
htmlArg = {fg = p.iris},
htmlBold = {style = 'bold'},
htmlEndTag = {fg = p.subtle},
htmlH1 = {fg = groups.headings.h1, style = 'bold'},
htmlH2 = {fg = groups.headings.h2, style = 'bold'},
htmlH3 = {fg = groups.headings.h3, style = 'bold'},
htmlH4 = {fg = groups.headings.h4, style = 'bold'},
htmlH5 = {fg = groups.headings.h5, style = 'bold'},
htmlItalic = {style = styles.italic},
htmlLink = {fg = groups.link},
htmlTag = {fg = p.subtle},
htmlTagN = {fg = p.text},
htmlTagName = {fg = p.foam},
markdownDelimiter = {fg = p.subtle},
markdownH1 = {fg = groups.headings.h1, style = 'bold'},
markdownH1Delimiter = {link = 'markdownH1'},
markdownH2 = {fg = groups.headings.h2, style = 'bold'},
markdownH2Delimiter = {link = 'markdownH2'},
markdownH3 = {fg = groups.headings.h3, style = 'bold'},
markdownH3Delimiter = {link = 'markdownH3'},
markdownH4 = {fg = groups.headings.h4, style = 'bold'},
markdownH4Delimiter = {link = 'markdownH4'},
markdownH5 = {fg = groups.headings.h5, style = 'bold'},
markdownH5Delimiter = {link = 'markdownH5'},
markdownH6 = {fg = groups.headings.h6, style = 'bold'},
markdownH6Delimiter = {link = 'markdownH6'},
markdownLinkText = {fg = groups.link, style = 'underline'},
markdownUrl = {link = 'markdownLinkText'},
markdownDelimiter = {fg = p.subtle},
markdownH1 = {fg = groups.headings.h1, style = 'bold'},
markdownH1Delimiter = {link = 'markdownH1'},
markdownH2 = {fg = groups.headings.h2, style = 'bold'},
markdownH2Delimiter = {link = 'markdownH2'},
markdownH3 = {fg = groups.headings.h3, style = 'bold'},
markdownH3Delimiter = {link = 'markdownH3'},
markdownH4 = {fg = groups.headings.h4, style = 'bold'},
markdownH4Delimiter = {link = 'markdownH4'},
markdownH5 = {fg = groups.headings.h5, style = 'bold'},
markdownH5Delimiter = {link = 'markdownH5'},
markdownH6 = {fg = groups.headings.h6, style = 'bold'},
markdownH6Delimiter = {link = 'markdownH6'},
markdownLinkText = {fg = groups.link, style = 'underline'},
markdownUrl = {link = 'markdownLinkText'},
mkdCode = {fg = p.foam, style = styles.italic},
mkdCodeDelimiter = {fg = p.rose},
mkdCodeEnd = {fg = p.foam},
mkdCodeStart = {fg = p.foam},
mkdFootnotes = {fg = p.foam},
mkdID = {fg = p.foam, style = 'underline'},
mkdInlineURL = {fg = groups.link, style = 'underline'},
mkdLink = {link = 'mkdInlineURL'},
mkdLinkDef = {link = 'mkdInlineURL'},
mkdListItemLine = {fg = p.text},
mkdRule = {fg = p.subtle},
mkdURL = {link = 'mkdInlineURL'},
mkdCode = {fg = p.foam, style = styles.italic},
mkdCodeDelimiter = {fg = p.rose},
mkdCodeEnd = {fg = p.foam},
mkdCodeStart = {fg = p.foam},
mkdFootnotes = {fg = p.foam},
mkdID = {fg = p.foam, style = 'underline'},
mkdInlineURL = {fg = groups.link, style = 'underline'},
mkdLink = {link = 'mkdInlineURL'},
mkdLinkDef = {link = 'mkdInlineURL'},
mkdListItemLine = {fg = p.text},
mkdRule = {fg = p.subtle},
mkdURL = {link = 'mkdInlineURL'},
DiagnosticError = {fg = groups.error},
DiagnosticHint = {fg = groups.hint},
DiagnosticInfo = {fg = groups.info},
DiagnosticWarn = {fg = groups.warn},
DiagnosticDefaultError = {fg = groups.error},
DiagnosticDefaultHint = {fg = groups.hint},
DiagnosticDefaultInfo = {fg = groups.info},
DiagnosticDefaultWarn = {fg = groups.warn},
DiagnosticFloatingError = {fg = groups.error},
DiagnosticFloatingHint = {fg = groups.hint},
DiagnosticFloatingInfo = {fg = groups.info},
DiagnosticFloatingWarn = {fg = groups.warn},
DiagnosticSignError = {fg = groups.error},
DiagnosticSignHint = {fg = groups.hint},
DiagnosticSignInfo = {fg = groups.info},
DiagnosticSignWarn = {fg = groups.warn},
DiagnosticStatusLineError = {fg = groups.error, bg = groups.panel},
DiagnosticStatusLineHint = {fg = groups.hint, bg = groups.panel},
DiagnosticStatusLineInfo = {fg = groups.info, bg = groups.panel},
DiagnosticStatusLineWarn = {fg = groups.warn, bg = groups.panel},
DiagnosticUnderlineError = {sp = groups.error, style = 'undercurl'},
DiagnosticUnderlineHint = {sp = groups.hint, style = 'undercurl'},
DiagnosticUnderlineInfo = {sp = groups.info, style = 'undercurl'},
DiagnosticUnderlineWarn = {sp = groups.warn, style = 'undercurl'},
DiagnosticVirtualTextError = {fg = groups.error},
DiagnosticVirtualTextHint = {fg = groups.hint},
DiagnosticVirtualTextInfo = {fg = groups.info},
DiagnosticVirtualTextWarn = {fg = groups.warn},
DiagnosticError = {fg = groups.error},
DiagnosticHint = {fg = groups.hint},
DiagnosticInfo = {fg = groups.info},
DiagnosticWarn = {fg = groups.warn},
DiagnosticDefaultError = {fg = groups.error},
DiagnosticDefaultHint = {fg = groups.hint},
DiagnosticDefaultInfo = {fg = groups.info},
DiagnosticDefaultWarn = {fg = groups.warn},
DiagnosticFloatingError = {fg = groups.error},
DiagnosticFloatingHint = {fg = groups.hint},
DiagnosticFloatingInfo = {fg = groups.info},
DiagnosticFloatingWarn = {fg = groups.warn},
DiagnosticSignError = {fg = groups.error},
DiagnosticSignHint = {fg = groups.hint},
DiagnosticSignInfo = {fg = groups.info},
DiagnosticSignWarn = {fg = groups.warn},
DiagnosticStatusLineError = {fg = groups.error, bg = groups.panel},
DiagnosticStatusLineHint = {fg = groups.hint, bg = groups.panel},
DiagnosticStatusLineInfo = {fg = groups.info, bg = groups.panel},
DiagnosticStatusLineWarn = {fg = groups.warn, bg = groups.panel},
DiagnosticUnderlineError = {sp = groups.error, style = 'undercurl'},
DiagnosticUnderlineHint = {sp = groups.hint, style = 'undercurl'},
DiagnosticUnderlineInfo = {sp = groups.info, style = 'undercurl'},
DiagnosticUnderlineWarn = {sp = groups.warn, style = 'undercurl'},
DiagnosticVirtualTextError = {fg = groups.error},
DiagnosticVirtualTextHint = {fg = groups.hint},
DiagnosticVirtualTextInfo = {fg = groups.info},
DiagnosticVirtualTextWarn = {fg = groups.warn},
-- healthcheck
healthError = {fg = groups.error},
healthSuccess = {fg = groups.info},
healthWarning = {fg = groups.warn},
-- healthcheck
healthError = {fg = groups.error},
healthSuccess = {fg = groups.info},
healthWarning = {fg = groups.warn},
-- TSAttribute = {},
TSBoolean = {link = 'Boolean'},
TSCharacter = {link = 'Character'},
TSComment = {link = 'Comment'},
TSConditional = {link = 'Conditional'},
TSConstBuiltin = {fg = p.love},
-- TSConstMacro = {},
TSConstant = {fg = p.foam},
TSConstructor = {fg = p.foam},
-- TSEmphasis = {},
-- TSError = {},
-- TSException = {},
TSField = {fg = p.foam},
-- TSFloat = {},
TSFuncBuiltin = {fg = p.love},
-- TSFuncMacro = {},
TSFunction = {fg = p.rose},
TSInclude = {fg = p.pine},
TSKeyword = {fg = p.pine},
-- TSKeywordFunction = {},
TSKeywordOperator = {fg = p.subtle},
TSLabel = {fg = p.foam},
-- TSLiteral = {},
-- TSMethod = {},
-- TSNamespace = {},
-- TSNone = {},
TSNumber = {link = 'Number'},
TSOperator = {fg = p.subtle},
TSParameter = {fg = p.iris, style = styles.italic},
-- TSParameterReference = {},
TSProperty = {fg = p.iris, style = styles.italic},
TSPunctBracket = {fg = groups.punctuation},
TSPunctDelimiter = {fg = groups.punctuation},
TSPunctSpecial = {fg = groups.punctuation},
-- TSRepeat = {},
-- TSStrike = {},
TSString = {link = 'String'},
TSStringEscape = {fg = p.pine},
-- TSStringRegex = {},
TSStringSpecial = {link = 'TSString'},
-- TSSymbol = {},
TSTag = {fg = p.foam},
TSTagDelimiter = {fg = p.subtle},
TSText = {fg = p.text},
TSTitle = {fg = groups.headings.h1, style = 'bold'},
TSType = {link = 'Type'},
-- TSTypeBuiltin = {},
TSURI = {fg = groups.link},
-- TSUnderline = {},
TSVariable = {fg = p.text, style = styles.italic},
TSVariableBuiltin = {fg = p.love},
-- TSAttribute = {},
TSBoolean = {link = 'Boolean'},
TSCharacter = {link = 'Character'},
TSComment = {link = 'Comment'},
TSConditional = {link = 'Conditional'},
TSConstBuiltin = {fg = p.love},
-- TSConstMacro = {},
TSConstant = {fg = p.foam},
TSConstructor = {fg = p.foam},
-- TSEmphasis = {},
-- TSError = {},
-- TSException = {},
TSField = {fg = p.foam},
-- TSFloat = {},
TSFuncBuiltin = {fg = p.love},
-- TSFuncMacro = {},
TSFunction = {fg = p.rose},
TSInclude = {fg = p.pine},
TSKeyword = {fg = p.pine},
-- TSKeywordFunction = {},
TSKeywordOperator = {fg = p.subtle},
TSLabel = {fg = p.foam},
-- TSLiteral = {},
-- TSMethod = {},
-- TSNamespace = {},
-- TSNone = {},
TSNumber = {link = 'Number'},
TSOperator = {fg = p.subtle},
TSParameter = {fg = p.iris, style = styles.italic},
-- TSParameterReference = {},
TSProperty = {fg = p.iris, style = styles.italic},
TSPunctBracket = {fg = groups.punctuation},
TSPunctDelimiter = {fg = groups.punctuation},
TSPunctSpecial = {fg = groups.punctuation},
-- TSRepeat = {},
-- TSStrike = {},
TSString = {link = 'String'},
TSStringEscape = {fg = p.pine},
-- TSStringRegex = {},
TSStringSpecial = {link = 'TSString'},
-- TSSymbol = {},
TSTag = {fg = p.foam},
TSTagDelimiter = {fg = p.subtle},
TSText = {fg = p.text},
TSTitle = {fg = groups.headings.h1, style = 'bold'},
TSType = {link = 'Type'},
-- TSTypeBuiltin = {},
TSURI = {fg = groups.link},
-- TSUnderline = {},
TSVariable = {fg = p.text, style = styles.italic},
TSVariableBuiltin = {fg = p.love},
-- vim.lsp.buf.document_highlight()
LspReferenceText = {bg = p.highlight_med},
LspReferenceRead = {bg = p.highlight_med},
LspReferenceWrite = {bg = p.highlight_med},
-- vim.lsp.buf.document_highlight()
LspReferenceText = {bg = p.highlight_med},
LspReferenceRead = {bg = p.highlight_med},
LspReferenceWrite = {bg = p.highlight_med},
-- lsp-highlight-codelens
LspCodeLens = {fg = p.subtle}, -- virtual text of code lens
LspCodeLensSeparator = {fg = p.highlight_high}, -- separator between two or more code lens
-- lsp-highlight-codelens
LspCodeLens = {fg = p.subtle}, -- virtual text of code lens
LspCodeLensSeparator = {fg = p.highlight_high}, -- separator between two or more code lens
-- romgrk/barbar.nvim
BufferCurrent = {fg = p.text, bg = p.overlay},
BufferCurrentIndex = {fg = p.text, bg = p.overlay},
BufferCurrentMod = {fg = p.foam, bg = p.overlay},
BufferCurrentSign = {fg = p.subtle, bg = p.overlay},
BufferCurrentTarget = {fg = p.gold, bg = p.overlay},
BufferInactive = {fg = p.subtle},
BufferInactiveIndex = {fg = p.subtle},
BufferInactiveMod = {fg = p.foam},
BufferInactiveSign = {fg = p.muted},
BufferInactiveTarget = {fg = p.gold},
BufferTabpageFill = {fg = groups.background, bg = groups.background},
BufferVisible = {fg = p.subtle},
BufferVisibleIndex = {fg = p.subtle},
BufferVisibleMod = {fg = p.foam},
BufferVisibleSign = {fg = p.muted},
BufferVisibleTarget = {fg = p.gold},
-- romgrk/barbar.nvim
BufferCurrent = {fg = p.text, bg = p.overlay},
BufferCurrentIndex = {fg = p.text, bg = p.overlay},
BufferCurrentMod = {fg = p.foam, bg = p.overlay},
BufferCurrentSign = {fg = p.subtle, bg = p.overlay},
BufferCurrentTarget = {fg = p.gold, bg = p.overlay},
BufferInactive = {fg = p.subtle},
BufferInactiveIndex = {fg = p.subtle},
BufferInactiveMod = {fg = p.foam},
BufferInactiveSign = {fg = p.muted},
BufferInactiveTarget = {fg = p.gold},
BufferTabpageFill = {fg = groups.background, bg = groups.background},
BufferVisible = {fg = p.subtle},
BufferVisibleIndex = {fg = p.subtle},
BufferVisibleMod = {fg = p.foam},
BufferVisibleSign = {fg = p.muted},
BufferVisibleTarget = {fg = p.gold},
-- lewis6991/gitsigns.nvim
GitSignsAdd = {fg = groups.git_add},
GitSignsChange = {fg = groups.git_change},
GitSignsDelete = {fg = groups.git_delete},
SignAdd = {link = 'GitSignsAdd'},
SignChange = {link = 'GitSignsChange'},
SignDelete = {link = 'GitSignsDelete'},
-- lewis6991/gitsigns.nvim
GitSignsAdd = {fg = groups.git_add},
GitSignsChange = {fg = groups.git_change},
GitSignsDelete = {fg = groups.git_delete},
SignAdd = {link = 'GitSignsAdd'},
SignChange = {link = 'GitSignsChange'},
SignDelete = {link = 'GitSignsDelete'},
-- mvllow/modes.nvim
ModesCopy = {bg = p.gold},
ModesDelete = {bg = p.love},
ModesInsert = {bg = p.foam},
ModesVisual = {bg = p.iris},
-- mvllow/modes.nvim
ModesCopy = {bg = p.gold},
ModesDelete = {bg = p.love},
ModesInsert = {bg = p.foam},
ModesVisual = {bg = p.iris},
-- kyazdani42/nvim-tree.lua
NvimTreeEmptyFolderName = {fg = p.muted},
NvimTreeFileDeleted = {fg = p.love},
NvimTreeFileDirty = {fg = p.rose},
NvimTreeFileMerge = {fg = p.iris},
NvimTreeFileNew = {fg = p.foam},
NvimTreeFileRenamed = {fg = p.pine},
NvimTreeFileStaged = {fg = p.iris},
NvimTreeFolderIcon = {fg = p.subtle},
NvimTreeFolderName = {fg = p.foam},
NvimTreeGitDeleted = {fg = groups.git_delete},
NvimTreeGitDirty = {fg = groups.git_dirty},
NvimTreeGitIgnored = {fg = groups.git_ignore},
NvimTreeGitMerge = {fg = groups.git_merge},
NvimTreeGitNew = {fg = groups.git_add},
NvimTreeGitRenamed = {fg = groups.git_rename},
NvimTreeGitStaged = {fg = groups.git_stage},
NvimTreeImageFile = {fg = p.text},
NvimTreeNormal = {fg = p.text},
NvimTreeOpenedFile = {fg = p.text, bg = p.highlight_med},
NvimTreeOpenedFolderName = {link = 'NvimTreeFolderName'},
NvimTreeRootFolder = {fg = p.iris},
NvimTreeSpecialFile = {link = 'NvimTreeNormal'},
NvimTreeWindowPicker = {fg = groups.background, bg = p.iris},
-- kyazdani42/nvim-tree.lua
NvimTreeEmptyFolderName = {fg = p.muted},
NvimTreeFileDeleted = {fg = p.love},
NvimTreeFileDirty = {fg = p.rose},
NvimTreeFileMerge = {fg = p.iris},
NvimTreeFileNew = {fg = p.foam},
NvimTreeFileRenamed = {fg = p.pine},
NvimTreeFileStaged = {fg = p.iris},
NvimTreeFolderIcon = {fg = p.subtle},
NvimTreeFolderName = {fg = p.foam},
NvimTreeGitDeleted = {fg = groups.git_delete},
NvimTreeGitDirty = {fg = groups.git_dirty},
NvimTreeGitIgnored = {fg = groups.git_ignore},
NvimTreeGitMerge = {fg = groups.git_merge},
NvimTreeGitNew = {fg = groups.git_add},
NvimTreeGitRenamed = {fg = groups.git_rename},
NvimTreeGitStaged = {fg = groups.git_stage},
NvimTreeImageFile = {fg = p.text},
NvimTreeNormal = {fg = p.text},
NvimTreeOpenedFile = {fg = p.text, bg = p.highlight_med},
NvimTreeOpenedFolderName = {link = 'NvimTreeFolderName'},
NvimTreeRootFolder = {fg = p.iris},
NvimTreeSpecialFile = {link = 'NvimTreeNormal'},
NvimTreeWindowPicker = {fg = groups.background, bg = p.iris},
-- folke/which-key.nvim
WhichKey = {fg = p.iris},
WhichKeyGroup = {fg = p.foam},
WhichKeySeparator = {fg = p.subtle},
WhichKeyDesc = {fg = p.gold},
WhichKeyFloat = {bg = groups.panel},
WhichKeyValue = {fg = p.rose},
-- folke/which-key.nvim
WhichKey = {fg = p.iris},
WhichKeyGroup = {fg = p.foam},
WhichKeySeparator = {fg = p.subtle},
WhichKeyDesc = {fg = p.gold},
WhichKeyFloat = {bg = groups.panel},
WhichKeyValue = {fg = p.rose},
-- luka-reineke/indent-blankline.nvim
IndentBlanklineChar = {fg = p.muted},
-- luka-reineke/indent-blankline.nvim
IndentBlanklineChar = {fg = p.muted},
-- hrsh7th/nvim-cmp
CmpItemAbbr = {fg = p.subtle},
CmpItemAbbrDeprecated = {fg = p.subtle, style = 'strikethrough'},
CmpItemAbbrMatch = {fg = p.text, style = 'bold'},
CmpItemAbbrMatchFuzzy = {fg = p.text, style = 'bold'},
CmpItemKind = {fg = p.iris},
CmpItemKindClass = {fg = p.gold},
CmpItemKindFunction = {fg = p.iris},
CmpItemKindInterface = {fg = p.gold},
CmpItemKindMethod = {fg = p.iris},
CmpItemKindSnippet = {fg = p.iris},
CmpItemKindVariable = {fg = p.foam},
-- hrsh7th/nvim-cmp
CmpItemAbbr = {fg = p.subtle},
CmpItemAbbrDeprecated = {fg = p.subtle, style = 'strikethrough'},
CmpItemAbbrMatch = {fg = p.text, style = 'bold'},
CmpItemAbbrMatchFuzzy = {fg = p.text, style = 'bold'},
CmpItemKind = {fg = p.iris},
CmpItemKindClass = {fg = p.gold},
CmpItemKindFunction = {fg = p.iris},
CmpItemKindInterface = {fg = p.gold},
CmpItemKindMethod = {fg = p.iris},
CmpItemKindSnippet = {fg = p.iris},
CmpItemKindVariable = {fg = p.foam},
-- TimUntersberger/neogit
NeogitDiffAddHighlight = {fg = p.foam, bg = p.highlight_med},
NeogitDiffContextHighlight = {bg = p.highlight_low},
NeogitDiffDeleteHighlight = {fg = p.love, bg = p.highlight_med},
NeogitHunkHeader = {bg = p.highlight_low},
NeogitHunkHeaderHighlight = {bg = p.highlight_low},
-- TimUntersberger/neogit
NeogitDiffAddHighlight = {fg = p.foam, bg = p.highlight_med},
NeogitDiffContextHighlight = {bg = p.highlight_low},
NeogitDiffDeleteHighlight = {fg = p.love, bg = p.highlight_med},
NeogitHunkHeader = {bg = p.highlight_low},
NeogitHunkHeaderHighlight = {bg = p.highlight_low},
-- vimwiki/vimwiki
VimwikiHR = {fg = p.subtle},
VimwikiHeader1 = {fg = groups.headings.h1, style = 'bold'},
VimwikiHeader2 = {fg = groups.headings.h2, style = 'bold'},
VimwikiHeader3 = {fg = groups.headings.h3, style = 'bold'},
VimwikiHeader4 = {fg = groups.headings.h4, style = 'bold'},
VimwikiHeader5 = {fg = groups.headings.h5, style = 'bold'},
VimwikiHeader6 = {fg = groups.headings.h6, style = 'bold'},
VimwikiHeaderChar = {fg = p.pine},
VimwikiLink = {fg = groups.link, style = 'underline'},
VimwikiList = {fg = p.iris},
VimwikiNoExistsLink = {fg = p.love},
-- vimwiki/vimwiki
VimwikiHR = {fg = p.subtle},
VimwikiHeader1 = {fg = groups.headings.h1, style = 'bold'},
VimwikiHeader2 = {fg = groups.headings.h2, style = 'bold'},
VimwikiHeader3 = {fg = groups.headings.h3, style = 'bold'},
VimwikiHeader4 = {fg = groups.headings.h4, style = 'bold'},
VimwikiHeader5 = {fg = groups.headings.h5, style = 'bold'},
VimwikiHeader6 = {fg = groups.headings.h6, style = 'bold'},
VimwikiHeaderChar = {fg = p.pine},
VimwikiLink = {fg = groups.link, style = 'underline'},
VimwikiList = {fg = p.iris},
VimwikiNoExistsLink = {fg = p.love},
-- nvim-neorg/neorg
NeorgHeading1Prefix = {fg = groups.headings.h1, style = 'bold'},
NeorgHeading1Title = {link = 'NeorgHeading1Prefix'},
NeorgHeading2Prefix = {fg = groups.headings.h2, style = 'bold'},
NeorgHeading2Title = {link = 'NeorgHeading2Prefix'},
NeorgHeading3Prefix = {fg = groups.headings.h3, style = 'bold'},
NeorgHeading3Title = {link = 'NeorgHeading3Prefix'},
NeorgHeading4Prefix = {fg = groups.headings.h4, style = 'bold'},
NeorgHeading4Title = {link = 'NeorgHeading4Prefix'},
NeorgHeading5Prefix = {fg = groups.headings.h5, style = 'bold'},
NeorgHeading5Title = {link = 'NeorgHeading5Prefix'},
NeorgHeading6Prefix = {fg = groups.headings.h6, style = 'bold'},
NeorgHeading6Title = {link = 'NeorgHeading6Prefix'},
NeorgMarkerTitle = {fg = p.text, style = 'bold'},
-- nvim-neorg/neorg
NeorgHeading1Prefix = {fg = groups.headings.h1, style = 'bold'},
NeorgHeading1Title = {link = 'NeorgHeading1Prefix'},
NeorgHeading2Prefix = {fg = groups.headings.h2, style = 'bold'},
NeorgHeading2Title = {link = 'NeorgHeading2Prefix'},
NeorgHeading3Prefix = {fg = groups.headings.h3, style = 'bold'},
NeorgHeading3Title = {link = 'NeorgHeading3Prefix'},
NeorgHeading4Prefix = {fg = groups.headings.h4, style = 'bold'},
NeorgHeading4Title = {link = 'NeorgHeading4Prefix'},
NeorgHeading5Prefix = {fg = groups.headings.h5, style = 'bold'},
NeorgHeading5Title = {link = 'NeorgHeading5Prefix'},
NeorgHeading6Prefix = {fg = groups.headings.h6, style = 'bold'},
NeorgHeading6Title = {link = 'NeorgHeading6Prefix'},
NeorgMarkerTitle = {fg = p.text, style = 'bold'},
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
DefinitionCount = {fg = p.rose},
DefinitionIcon = {fg = p.rose},
DefintionPreviewTitle = {fg = p.rose, style = 'bold'},
LspFloatWinBorder = {fg = groups.border},
LspFloatWinNormal = {bg = groups.background},
LspSagaAutoPreview = {fg = p.subtle},
LspSagaCodeActionBorder = {fg = groups.border},
LspSagaCodeActionContent = {fg = p.foam},
LspSagaCodeActionTitle = {fg = p.gold, style = 'bold'},
LspSagaCodeActionTruncateLine = {link = 'LspSagaCodeActionBorder'},
LspSagaDefPreviewBorder = {fg = groups.border},
LspSagaDiagnosticBorder = {fg = groups.border},
LspSagaDiagnosticHeader = {fg = p.gold, style = 'bold'},
LspSagaDiagnosticTruncateLine = {link = 'LspSagaDiagnosticBorder'},
LspSagaDocTruncateLine = {link = 'LspSagaHoverBorder'},
LspSagaFinderSelection = {fg = p.gold},
LspSagaHoverBorder = {fg = groups.border},
LspSagaLspFinderBorder = {fg = groups.border},
LspSagaRenameBorder = {fg = p.pine},
LspSagaRenamePromptPrefix = {fg = p.love},
LspSagaShTruncateLine = {link = 'LspSagaSignatureHelpBorder'},
LspSagaSignatureHelpBorder = {fg = p.pine},
ReferencesCount = {fg = p.rose},
ReferencesIcon = {fg = p.rose},
SagaShadow = {bg = p.overlay},
TargetWord = {fg = p.iris},
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
DefinitionCount = {fg = p.rose},
DefinitionIcon = {fg = p.rose},
DefintionPreviewTitle = {fg = p.rose, style = 'bold'},
LspFloatWinBorder = {fg = groups.border},
LspFloatWinNormal = {bg = groups.background},
LspSagaAutoPreview = {fg = p.subtle},
LspSagaCodeActionBorder = {fg = groups.border},
LspSagaCodeActionContent = {fg = p.foam},
LspSagaCodeActionTitle = {fg = p.gold, style = 'bold'},
LspSagaCodeActionTruncateLine = {link = 'LspSagaCodeActionBorder'},
LspSagaDefPreviewBorder = {fg = groups.border},
LspSagaDiagnosticBorder = {fg = groups.border},
LspSagaDiagnosticHeader = {fg = p.gold, style = 'bold'},
LspSagaDiagnosticTruncateLine = {link = 'LspSagaDiagnosticBorder'},
LspSagaDocTruncateLine = {link = 'LspSagaHoverBorder'},
LspSagaFinderSelection = {fg = p.gold},
LspSagaHoverBorder = {fg = groups.border},
LspSagaLspFinderBorder = {fg = groups.border},
LspSagaRenameBorder = {fg = p.pine},
LspSagaRenamePromptPrefix = {fg = p.love},
LspSagaShTruncateLine = {link = 'LspSagaSignatureHelpBorder'},
LspSagaSignatureHelpBorder = {fg = p.pine},
ReferencesCount = {fg = p.rose},
ReferencesIcon = {fg = p.rose},
SagaShadow = {bg = p.overlay},
TargetWord = {fg = p.iris},
-- ray-x/lsp_signature.nvim
LspSignatureActiveParameter = {bg = p.overlay},
-- ray-x/lsp_signature.nvim
LspSignatureActiveParameter = {bg = p.overlay},
-- rlane/pounce.nvim
PounceAccept = {fg = p.love, bg = p.highlight_high},
PounceAcceptBest = {fg = p.base, bg = p.gold},
PounceGap = {link = 'Search'},
PounceMatch = {link = 'Search'},
-- rlane/pounce.nvim
PounceAccept = {fg = p.love, bg = p.highlight_high},
PounceAcceptBest = {fg = p.base, bg = p.gold},
PounceGap = {link = 'Search'},
PounceMatch = {link = 'Search'},
-- nvim-telescope/telescope.nvim
TelescopeBorder = {fg = groups.border},
TelescopeMatching = {fg = p.rose},
TelescopeNormal = {fg = p.subtle},
TelescopePromptNormal = {fg = p.text},
TelescopePromptPrefix = {fg = p.subtle},
TelescopeSelection = {fg = p.text, bg = p.overlay},
TelescopeSelectionCaret = {fg = p.rose, bg = p.overlay},
TelescopeTitle = {fg = p.subtle},
-- nvim-telescope/telescope.nvim
TelescopeBorder = {fg = groups.border},
TelescopeMatching = {fg = p.rose},
TelescopeNormal = {fg = p.subtle},
TelescopePromptNormal = {fg = p.text},
TelescopePromptPrefix = {fg = p.subtle},
TelescopeSelection = {fg = p.text, bg = p.overlay},
TelescopeSelectionCaret = {fg = p.rose, bg = p.overlay},
TelescopeTitle = {fg = p.subtle},
-- rcarriga/nvim-notify
NotifyINFOBorder = {fg = p.foam},
NotifyINFOTitle = {link = 'NotifyINFOBorder'},
NotifyINFOIcon = {link = 'NotifyINFOBorder'},
NotifyWARNBorder = {fg = p.gold},
NotifyWARNTitle = {link = 'NotifyWARNBorder'},
NotifyWARNIcon = {link = 'NotifyWARNBorder'},
NotifyDEBUGBorder = {fg = p.muted},
NotifyDEBUGTitle = {link = 'NotifyDEBUGBorder'},
NotifyDEBUGIcon = {link = 'NotifyDEBUGBorder'},
NotifyTRACEBorder = {fg = p.iris},
NotifyTRACETitle = {link = 'NotifyTRACEBorder'},
NotifyTRACEIcon = {link = 'NotifyTRACEBorder'},
NotifyERRORBorder = {fg = p.love},
NotifyERRORTitle = {link = 'NotifyERRORBorder'},
NotifyERRORIcon = {link = 'NotifyERRORBorder'},
-- rcarriga/nvim-notify
NotifyINFOBorder = {fg = p.foam},
NotifyINFOTitle = {link = 'NotifyINFOBorder'},
NotifyINFOIcon = {link = 'NotifyINFOBorder'},
NotifyWARNBorder = {fg = p.gold},
NotifyWARNTitle = {link = 'NotifyWARNBorder'},
NotifyWARNIcon = {link = 'NotifyWARNBorder'},
NotifyDEBUGBorder = {fg = p.muted},
NotifyDEBUGTitle = {link = 'NotifyDEBUGBorder'},
NotifyDEBUGIcon = {link = 'NotifyDEBUGBorder'},
NotifyTRACEBorder = {fg = p.iris},
NotifyTRACETitle = {link = 'NotifyTRACEBorder'},
NotifyTRACEIcon = {link = 'NotifyTRACEBorder'},
NotifyERRORBorder = {fg = p.love},
NotifyERRORTitle = {link = 'NotifyERRORBorder'},
NotifyERRORIcon = {link = 'NotifyERRORBorder'},
-- rcarriga/nvim-dap-ui
DapUIVariable = {link = 'Normal'},
DapUIValue = {link = 'Normal'},
DapUIFrameName = {link = 'Normal'},
DapUIThread = {fg = p.gold},
DapUIWatchesValue = {link = 'DapUIThread'},
DapUIBreakpointsInfo = {link = 'DapUIThread'},
DapUIBreakpointsCurrentLine = {fg = p.gold, style = 'bold'},
DapUIWatchesEmpty = {fg = p.love},
DapUIWatchesError = {link = 'DapUIWatchesEmpty'},
DapUIBreakpointsDisabledLine = {fg = p.muted},
DapUISource = {fg = p.iris},
DapUIBreakpointsPath = {fg = p.foam},
DapUIScope = {link = 'DapUIBreakpointsPath'},
DapUILineNumber = {link = 'DapUIBreakpointsPath'},
DapUIBreakpointsLine = {link = 'DapUIBreakpointsPath'},
DapUIFloatBorder = {link = 'DapUIBreakpointsPath'},
DapUIStoppedThread = {link = 'DapUIBreakpointsPath'},
DapUIDecoration = {link = 'DapUIBreakpointsPath'},
DapUIModifiedValue = {fg = p.foam, style = 'bold'},
-- rcarriga/nvim-dap-ui
DapUIVariable = {link = 'Normal'},
DapUIValue = {link = 'Normal'},
DapUIFrameName = {link = 'Normal'},
DapUIThread = {fg = p.gold},
DapUIWatchesValue = {link = 'DapUIThread'},
DapUIBreakpointsInfo = {link = 'DapUIThread'},
DapUIBreakpointsCurrentLine = {fg = p.gold, style = 'bold'},
DapUIWatchesEmpty = {fg = p.love},
DapUIWatchesError = {link = 'DapUIWatchesEmpty'},
DapUIBreakpointsDisabledLine = {fg = p.muted},
DapUISource = {fg = p.iris},
DapUIBreakpointsPath = {fg = p.foam},
DapUIScope = {link = 'DapUIBreakpointsPath'},
DapUILineNumber = {link = 'DapUIBreakpointsPath'},
DapUIBreakpointsLine = {link = 'DapUIBreakpointsPath'},
DapUIFloatBorder = {link = 'DapUIBreakpointsPath'},
DapUIStoppedThread = {link = 'DapUIBreakpointsPath'},
DapUIDecoration = {link = 'DapUIBreakpointsPath'},
DapUIModifiedValue = {fg = p.foam, style = 'bold'},
-- glepnir/dashboard-nvim
DashboardShortcut = {fg = p.love},
DashboardHeader = {fg = p.pine},
DashboardCenter = {fg = p.gold},
DashboardFooter = {fg = p.iris}
}
-- glepnir/dashboard-nvim
DashboardShortcut = {fg = p.love},
DashboardHeader = {fg = p.pine},
DashboardCenter = {fg = p.gold},
DashboardFooter = {fg = p.iris}
}
vim.g.terminal_color_0 = p.overlay -- black
vim.g.terminal_color_8 = p.subtle -- bright black
vim.g.terminal_color_1 = p.love -- red
vim.g.terminal_color_9 = p.love -- bright red
vim.g.terminal_color_2 = p.pine -- green
vim.g.terminal_color_10 = p.pine -- bright green
vim.g.terminal_color_3 = p.gold -- yellow
vim.g.terminal_color_11 = p.gold -- bright yellow
vim.g.terminal_color_4 = p.foam -- blue
vim.g.terminal_color_12 = p.foam -- bright blue
vim.g.terminal_color_5 = p.iris -- magenta
vim.g.terminal_color_13 = p.iris -- bright magenta
vim.g.terminal_color_6 = p.rose -- cyan
vim.g.terminal_color_14 = p.rose -- bright cyan
vim.g.terminal_color_7 = p.text -- white
vim.g.terminal_color_15 = p.text -- bright white
vim.g.terminal_color_0 = p.overlay -- black
vim.g.terminal_color_8 = p.subtle -- bright black
vim.g.terminal_color_1 = p.love -- red
vim.g.terminal_color_9 = p.love -- bright red
vim.g.terminal_color_2 = p.pine -- green
vim.g.terminal_color_10 = p.pine -- bright green
vim.g.terminal_color_3 = p.gold -- yellow
vim.g.terminal_color_11 = p.gold -- bright yellow
vim.g.terminal_color_4 = p.foam -- blue
vim.g.terminal_color_12 = p.foam -- bright blue
vim.g.terminal_color_5 = p.iris -- magenta
vim.g.terminal_color_13 = p.iris -- bright magenta
vim.g.terminal_color_6 = p.rose -- cyan
vim.g.terminal_color_14 = p.rose -- bright cyan
vim.g.terminal_color_7 = p.text -- white
vim.g.terminal_color_15 = p.text -- bright white
return theme
return theme
end
return M

View file

@ -1,61 +1,61 @@
local util = {}
local function byte(value, offset)
return bit.band(bit.rshift(value, offset), 0xFF)
return bit.band(bit.rshift(value, offset), 0xFF)
end
local function rgb(color)
color = vim.api.nvim_get_color_by_name(color)
color = vim.api.nvim_get_color_by_name(color)
if color == -1 then
color = vim.opt.background:get() == 'dark' and 000 or 255255255
end
if color == -1 then
color = vim.opt.background:get() == 'dark' and 000 or 255255255
end
return {byte(color, 16), byte(color, 8), byte(color, 0)}
return {byte(color, 16), byte(color, 8), byte(color, 0)}
end
local function parse_color(color)
if color == nil then return print('invalid color') end
if color == nil then return print('invalid color') end
color = color:lower()
color = color:lower()
if not color:find('#') and color ~= 'none' then
color = require('rose-pine.palette')[color] or
vim.api.nvim_get_color_by_name(color)
end
if not color:find('#') and color ~= 'none' then
color = require('rose-pine.palette')[color] or
vim.api.nvim_get_color_by_name(color)
end
return color
return color
end
---@param fg string foreground color
---@param bg string background color
---@param alpha number number between 0 (background) and 1 (foreground)
util.blend = function(fg, bg, alpha)
fg = rgb(parse_color(fg))
bg = rgb(parse_color(bg))
fg = rgb(parse_color(fg))
bg = rgb(parse_color(bg))
local function blend_channel(i)
local ret = (alpha * fg[i] + ((1 - alpha) * bg[i]))
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
end
local function blend_channel(i)
local ret = (alpha * fg[i] + ((1 - alpha) * bg[i]))
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
end
return string.format('#%02X%02X%02X', blend_channel(1), blend_channel(2),
blend_channel(3))
return string.format('#%02X%02X%02X', blend_channel(1), blend_channel(2),
blend_channel(3))
end
---@param group string
---@param color table<string, string>
util.highlight = function(group, color)
local style = color.style and 'gui=' .. color.style or 'gui=NONE'
local fg = color.fg and 'guifg=' .. parse_color(color.fg) or 'guifg=NONE'
local bg = color.bg and 'guibg=' .. parse_color(color.bg) or 'guibg=NONE'
local sp = color.sp and 'guisp=' .. parse_color(color.sp) or ''
local style = color.style and 'gui=' .. color.style or 'gui=NONE'
local fg = color.fg and 'guifg=' .. parse_color(color.fg) or 'guifg=NONE'
local bg = color.bg and 'guibg=' .. parse_color(color.bg) or 'guibg=NONE'
local sp = color.sp and 'guisp=' .. parse_color(color.sp) or ''
vim.cmd(string.format('highlight %s %s %s %s %s', group, style, fg, bg, sp))
vim.cmd(string.format('highlight %s %s %s %s %s', group, style, fg, bg, sp))
if color.link then
vim.cmd(string.format('highlight! link %s %s', group, color.link))
end
if color.link then
vim.cmd(string.format('highlight! link %s %s', group, color.link))
end
end
return util