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') local p = require('rose-pine.palette')
return { return {
normal = { normal = {
a = { bg = p.surface, fg = p.rose, gui = 'bold' }, a = {bg = p.surface, fg = p.rose, gui = 'bold'},
b = { bg = p.surface, fg = p.text }, b = {bg = p.surface, fg = p.text},
c = { bg = p.surface, fg = p.subtle, gui = 'italic' }, c = {bg = p.surface, fg = p.subtle, gui = 'italic'}
}, },
insert = { insert = {a = {bg = p.surface, fg = p.foam, gui = 'bold'}},
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'}},
visual = { command = {a = {bg = p.surface, fg = p.love, gui = 'bold'}},
a = { bg = p.surface, fg = p.iris, gui = 'bold' }, inactive = {
}, a = {bg = p.base, fg = p.subtle, gui = 'bold'},
replace = { b = {bg = p.base, fg = p.subtle},
a = { bg = p.surface, fg = p.pine, gui = 'bold' }, c = {bg = p.base, fg = p.subtle, gui = 'italic'}
}, }
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') local p = require('rose-pine.palette')
return { return {
normal = { normal = {
a = { bg = p.rose, fg = p.base, gui = 'bold' }, a = {bg = p.rose, fg = p.base, gui = 'bold'},
b = { bg = p.overlay, fg = p.rose }, b = {bg = p.overlay, fg = p.rose},
c = { bg = p.base, fg = p.text }, c = {bg = p.base, fg = p.text}
}, },
insert = { insert = {
a = { bg = p.foam, fg = p.base, gui = 'bold' }, a = {bg = p.foam, fg = p.base, gui = 'bold'},
b = { bg = p.overlay, fg = p.foam }, b = {bg = p.overlay, fg = p.foam},
c = { bg = p.base, fg = p.text }, c = {bg = p.base, fg = p.text}
}, },
visual = { visual = {
a = { bg = p.iris, fg = p.base, gui = 'bold' }, a = {bg = p.iris, fg = p.base, gui = 'bold'},
b = { bg = p.overlay, fg = p.iris }, b = {bg = p.overlay, fg = p.iris},
c = { bg = p.base, fg = p.text }, c = {bg = p.base, fg = p.text}
}, },
replace = { replace = {
a = { bg = p.pine, fg = p.base, gui = 'bold' }, a = {bg = p.pine, fg = p.base, gui = 'bold'},
b = { bg = p.overlay, fg = p.pine }, b = {bg = p.overlay, fg = p.pine},
c = { bg = p.base, fg = p.text }, c = {bg = p.base, fg = p.text}
}, },
command = { command = {
a = { bg = p.love, fg = p.base, gui = 'bold' }, a = {bg = p.cold, fg = p.base, gui = 'bold'},
b = { bg = p.overlay, fg = p.love }, b = {bg = p.overlay, fg = p.love},
c = { bg = p.base, fg = p.text }, c = {bg = p.base, fg = p.text}
}, },
inactive = { inactive = {
a = { bg = p.base, fg = p.muted, gui = 'bold' }, a = {bg = p.base, fg = p.muted, gui = 'bold'},
b = { bg = p.base, fg = p.muted }, b = {bg = p.base, fg = p.muted},
c = { 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 = {} local M = {}
function M.colorscheme() function M.colorscheme()
if vim.g.colors_name then if vim.g.colors_name then vim.cmd('hi clear') end
vim.cmd('hi clear')
end
vim.opt.termguicolors = true vim.opt.termguicolors = true
vim.g.colors_name = 'rose-pine' vim.g.colors_name = 'rose-pine'
local theme = require('rose-pine.theme').get() local theme = require('rose-pine.theme').get()
-- Set theme highlights -- Set theme highlights
for group, color in pairs(theme) do for group, color in pairs(theme) do util.highlight(group, color) end
util.highlight(group, color)
end
end end
return M return M

View file

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

View file

@ -4,210 +4,202 @@
--- @usage --- @usage
--- local highlights = require('rose-pine.plugins.bufferline') --- local highlights = require('rose-pine.plugins.bufferline')
--- require('bufferline').setup({ highlights = highlights }) --- require('bufferline').setup({ highlights = highlights })
local p = require('rose-pine.palette') local p = require('rose-pine.palette')
return { return {
-- fill = { -- fill = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- background = { -- background = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- tab = { -- tab = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- tab_selected = { -- tab_selected = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- tab_close = { -- tab_close = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- close_button = { -- close_button = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- close_button_visible = { -- close_button_visible = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
-- close_button_selected = { -- close_button_selected = {
-- guifg = '<color-value-here>', -- guifg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- }, -- },
buffer_visible = { buffer_visible = {guifg = p.subtle, guibg = p.base},
guifg = p.subtle, buffer_selected = {guifg = p.text, guibg = p.surface, gui = 'bold,italic'}
guibg = p.base, -- diagnostic = {
}, -- guifg = '<color-value-here>',
buffer_selected = { -- guibg = '<color-value-here>',
guifg = p.text, -- },
guibg = p.surface, -- diagnostic_visible = {
gui = 'bold,italic', -- guifg = '<color-value-here>',
}, -- guibg = '<color-value-here>',
-- diagnostic = { -- },
-- guifg = '<color-value-here>', -- diagnostic_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- diagnostic_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- },
-- guibg = '<color-value-here>', -- info = {
-- }, -- guifg = '<color-value-here>',
-- diagnostic_selected = { -- guisp = '<color-value-here>',
-- guifg = '<color-value-here>', -- guibg = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- gui = 'bold,italic', -- info_visible = {
-- }, -- guifg = '<color-value-here>',
-- info = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guisp = '<color-value-here>', -- info_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- info_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- }, -- info_diagnostic = {
-- info_selected = { -- guifg = '<color-value-here>',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- gui = 'bold,italic', -- },
-- guisp = '<color-value-here>', -- info_diagnostic_visible = {
-- }, -- guifg = '<color-value-here>',
-- info_diagnostic = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guisp = '<color-value-here>', -- info_diagnostic_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- info_diagnostic_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- }, -- warning = {
-- info_diagnostic_selected = { -- guifg = '<color-value-here>',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- gui = 'bold,italic', -- },
-- guisp = '<color-value-here>', -- warning_visible = {
-- }, -- guifg = '<color-value-here>',
-- warning = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guisp = '<color-value-here>', -- warning_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- warning_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- }, -- warning_diagnostic = {
-- warning_selected = { -- guifg = '<color-value-here>',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- guibg = '<color-value-here>',
-- gui = 'bold,italic', -- },
-- guisp = '<color-value-here>', -- warning_diagnostic_visible = {
-- }, -- guifg = '<color-value-here>',
-- warning_diagnostic = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guisp = '<color-value-here>', -- warning_diagnostic_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- warning_diagnostic_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- guisp = warning_diagnostic_fg,
-- guibg = '<color-value-here>', -- },
-- }, -- error = {
-- warning_diagnostic_selected = { -- guifg = '<color-value-here>',
-- guifg = '<color-value-here>', -- guibg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guisp = '<color-value-here>',
-- gui = 'bold,italic', -- },
-- guisp = warning_diagnostic_fg, -- error_visible = {
-- }, -- guifg = '<color-value-here>',
-- error = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guibg = '<color-value-here>', -- error_selected = {
-- guisp = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- error_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- }, -- error_diagnostic = {
-- error_selected = { -- guifg = '<color-value-here>',
-- guifg = '<color-value-here>', -- guibg = '<color-value-here>',
-- guibg = '<color-value-here>', -- guisp = '<color-value-here>',
-- gui = 'bold,italic', -- },
-- guisp = '<color-value-here>', -- error_diagnostic_visible = {
-- }, -- guifg = '<color-value-here>',
-- error_diagnostic = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guibg = '<color-value-here>', -- error_diagnostic_selected = {
-- guisp = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- error_diagnostic_visible = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- guisp = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- }, -- modified = {
-- error_diagnostic_selected = { -- guifg = '<color-value-here>',
-- guifg = '<color-value-here>', -- guibg = '<color-value-here>',
-- guibg = '<color-value-here>', -- },
-- gui = 'bold,italic', -- modified_visible = {
-- guisp = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- modified = { -- },
-- guifg = '<color-value-here>', -- modified_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- modified_visible = { -- },
-- guifg = '<color-value-here>', -- duplicate_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- gui = 'italic',
-- modified_selected = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- guibg = '<color-value-here>', -- duplicate_visible = {
-- }, -- guifg = '<color-value-here>',
-- duplicate_selected = { -- gui = 'italic',
-- guifg = '<color-value-here>', -- guibg = '<color-value-here>',
-- gui = 'italic', -- },
-- guibg = '<color-value-here>', -- duplicate = {
-- }, -- guifg = '<color-value-here>',
-- duplicate_visible = { -- gui = 'italic',
-- guifg = '<color-value-here>', -- guibg = '<color-value-here>',
-- gui = 'italic', -- },
-- guibg = '<color-value-here>', -- separator_selected = {
-- }, -- guifg = '<color-value-here>',
-- duplicate = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- },
-- gui = 'italic', -- separator_visible = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- separator_selected = { -- },
-- guifg = '<color-value-here>', -- separator = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- separator_visible = { -- },
-- guifg = '<color-value-here>', -- indicator_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- separator = { -- },
-- guifg = '<color-value-here>', -- pick_selected = {
-- guibg = '<color-value-here>', -- guifg = '<color-value-here>',
-- }, -- guibg = '<color-value-here>',
-- indicator_selected = { -- gui = 'bold,italic',
-- guifg = '<color-value-here>', -- },
-- guibg = '<color-value-here>', -- pick_visible = {
-- }, -- guifg = '<color-value-here>',
-- pick_selected = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- gui = 'bold,italic',
-- guibg = '<color-value-here>', -- },
-- gui = 'bold,italic', -- pick = {
-- }, -- guifg = '<color-value-here>',
-- pick_visible = { -- guibg = '<color-value-here>',
-- guifg = '<color-value-here>', -- gui = 'bold,italic',
-- 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 --- @usage
--- local highlights = require('rose-pine.plugins.galaxyline') --- local highlights = require('rose-pine.plugins.galaxyline')
local p = require('rose-pine.palette') local p = require('rose-pine.palette')
return { return {
bg = p.surface, bg = p.surface,
fg = p.text, fg = p.text,
fg_alt = p.subtle, fg_alt = p.subtle,
yellow = p.gold, yellow = p.gold,
cyan = p.rose, cyan = p.rose,
green = p.pine, green = p.pine,
orange = p.muted, orange = p.muted,
magenta = p.iris, magenta = p.iris,
blue = p.foam, blue = p.foam,
red = p.love, red = p.love
} }

View file

@ -4,7 +4,6 @@
--- @usage --- @usage
--- local highlights = require('rose-pine.plugins.markid') --- local highlights = require('rose-pine.plugins.markid')
--- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } }) --- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } })
local p = require('rose-pine.palette') 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 --- @usage
--- local highlights = require('rose-pine.plugins.toggleterm') --- local highlights = require('rose-pine.plugins.toggleterm')
--- require('toggleterm').setup({ highlights = highlights }) --- require('toggleterm').setup({ highlights = highlights })
return { return {
Normal = { link = 'Normal' }, Normal = {link = 'Normal'},
NormalFloat = { link = 'Normal' }, NormalFloat = {link = 'Normal'},
FloatBorder = { link = 'FloatBorder' }, FloatBorder = {link = 'FloatBorder'},
SignColumn = { link = 'SignColumn' }, SignColumn = {link = 'SignColumn'},
StatusLine = { link = 'StatusLine' }, StatusLine = {link = 'StatusLine'},
StatusLineNC = { link = 'StatusLineNC' }, StatusLineNC = {link = 'StatusLineNC'}
} }

View file

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

View file

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