updated colours, formatting

This commit is contained in:
Eric Xiao 2022-10-20 22:08:57 -07:00
commit 9f8166f90a
10 changed files with 806 additions and 833 deletions

View file

@ -1,26 +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.love, 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,19 +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

@ -5,13 +5,15 @@ local palette = {
muted = '#6e6a86',
subtle = '#908caa',
text = '#e0def4',
love = '#eb6f92',
love = '#e89b9f',
gold = '#f69957',
rose = '#ebbcba',
-- rose = '#ebbcba',
rose = '#ff79b1',
calm = '#23ff87',
pine = '#cd51d5',
foam = '#9ccfd8',
iris = '#c4a7e7',
cold = '#967de5',
highlight_low = '#21202e',
highlight_med = '#403d52',
highlight_high = '#524f67',

View file

@ -4,210 +4,202 @@
--- @usage
--- local highlights = require('rose-pine.plugins.bufferline')
--- require('bufferline').setup({ highlights = highlights })
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

@ -3,18 +3,17 @@
---
--- @usage
--- local highlights = require('rose-pine.plugins.galaxyline')
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

@ -4,7 +4,6 @@
--- @usage
--- local highlights = require('rose-pine.plugins.markid')
--- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } })
local p = require('rose-pine.palette')
return { p.foam, p.rose, p.iris }
return {p.foam, p.rose, p.iris}

View file

@ -4,12 +4,11 @@
--- @usage
--- 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,517 +3,517 @@ 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 },
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},
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,67 +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