mirror of
https://github.com/rose-pine/neovim.git
synced 2025-10-15 12:38:53 +02:00
feat: add link override
- refactor config and readme
This commit is contained in:
parent
0ac6c6c091
commit
b1069203d1
4 changed files with 446 additions and 480 deletions
|
|
@ -1,26 +1,48 @@
|
||||||
local palette = require('rose-pine.palette')
|
local palette = require('rose-pine.palette')
|
||||||
|
|
||||||
|
local function opt(key, default)
|
||||||
|
key = 'rose_pine_' .. key
|
||||||
|
|
||||||
|
if vim.g[key] == nil then
|
||||||
|
return default
|
||||||
|
end
|
||||||
|
|
||||||
|
if vim.g[key] == 0 or vim.g[key] == false then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return vim.g[key]
|
||||||
|
end
|
||||||
|
|
||||||
local config = {
|
local config = {
|
||||||
bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false,
|
variant = opt('variant', 'main'),
|
||||||
inactive_background = vim.g.rose_pine_inactive_background or false,
|
|
||||||
no_background = vim.g.rose_pine_disable_background or false,
|
bold_vertical_split_line = opt('bold_vertical_split_line', false),
|
||||||
no_float_background = vim.g.rose_pine_disable_float_background or false,
|
disable_italics = opt('disable_italics', false),
|
||||||
no_italics = vim.g.rose_pine_disable_italics or false,
|
disable_background = opt('disable_background', false),
|
||||||
|
disable_float_background = opt('disable_float_background', false),
|
||||||
|
inactive_background = opt('inactive_background', false),
|
||||||
|
|
||||||
colors = {
|
colors = {
|
||||||
punctuation = palette.subtle,
|
|
||||||
comment = palette.subtle,
|
|
||||||
border = palette.highlight_med,
|
border = palette.highlight_med,
|
||||||
|
comment = palette.muted,
|
||||||
|
link = palette.iris,
|
||||||
|
punctuation = palette.subtle,
|
||||||
|
|
||||||
|
error = palette.love,
|
||||||
hint = palette.iris,
|
hint = palette.iris,
|
||||||
info = palette.foam,
|
info = palette.foam,
|
||||||
warn = palette.gold,
|
warn = palette.gold,
|
||||||
error = palette.love,
|
|
||||||
|
|
||||||
-- TODO: Expose these once matched with syntax and cmp kind
|
git_add = palette.foam,
|
||||||
-- variable = '',
|
git_change = palette.rose,
|
||||||
-- class = '',
|
git_delete = palette.love,
|
||||||
-- interface = '',
|
git_dirty = palette.rose,
|
||||||
-- ['function'] = '',
|
git_ignore = palette.muted,
|
||||||
-- method = '',
|
git_merge = palette.iris,
|
||||||
|
git_rename = palette.pine,
|
||||||
|
git_stage = palette.iris,
|
||||||
|
git_text = palette.rose,
|
||||||
|
|
||||||
---@type string|table<string, string>
|
---@type string|table<string, string>
|
||||||
headings = {
|
headings = {
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ local variants = {
|
||||||
highlight_low = '#21202e',
|
highlight_low = '#21202e',
|
||||||
highlight_med = '#403d52',
|
highlight_med = '#403d52',
|
||||||
highlight_high = '#524f67',
|
highlight_high = '#524f67',
|
||||||
|
opacity = 0.1,
|
||||||
},
|
},
|
||||||
moon = {
|
moon = {
|
||||||
base = '#232136',
|
base = '#232136',
|
||||||
|
|
@ -32,6 +33,7 @@ local variants = {
|
||||||
highlight_low = '#2a283e',
|
highlight_low = '#2a283e',
|
||||||
highlight_med = '#44415a',
|
highlight_med = '#44415a',
|
||||||
highlight_high = '#56526e',
|
highlight_high = '#56526e',
|
||||||
|
opacity = 0.1,
|
||||||
},
|
},
|
||||||
dawn = {
|
dawn = {
|
||||||
base = '#faf4ed',
|
base = '#faf4ed',
|
||||||
|
|
@ -49,6 +51,7 @@ local variants = {
|
||||||
highlight_low = '#f4ede8',
|
highlight_low = '#f4ede8',
|
||||||
highlight_med = '#dfdad9',
|
highlight_med = '#dfdad9',
|
||||||
highlight_high = '#cecacd',
|
highlight_high = '#cecacd',
|
||||||
|
opacity = 0.05,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,215 +1,194 @@
|
||||||
|
local palette = require('rose-pine.palette')
|
||||||
local config = require('rose-pine.config')
|
local config = require('rose-pine.config')
|
||||||
local util = require('rose-pine.util')
|
local util = require('rose-pine.util')
|
||||||
local p = require('rose-pine.palette')
|
|
||||||
local c = config.colors
|
|
||||||
|
|
||||||
-- TODO: Refactor `maybe` logic
|
local group = config.colors
|
||||||
local maybe_inactive_background = p.none
|
|
||||||
local maybe_background = p.base
|
|
||||||
local maybe_float_background = p.surface
|
|
||||||
local maybe_italic = 'italic'
|
local maybe_italic = 'italic'
|
||||||
local maybe_bold_vert_split = { fg = p.overlay }
|
if config.disable_italics == true then
|
||||||
|
|
||||||
if config.bold_vert_split then
|
|
||||||
maybe_bold_vert_split = { fg = p.surface, bg = p.surface }
|
|
||||||
end
|
|
||||||
|
|
||||||
if config.inactive_background then
|
|
||||||
maybe_inactive_background = p.surface
|
|
||||||
end
|
|
||||||
|
|
||||||
if config.no_background then
|
|
||||||
maybe_background = p.none
|
|
||||||
end
|
|
||||||
|
|
||||||
if config.no_float_background then
|
|
||||||
maybe_float_background = p.none
|
|
||||||
end
|
|
||||||
|
|
||||||
if config.no_italics then
|
|
||||||
maybe_italic = nil
|
maybe_italic = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local background = config.disable_background and palette.base or palette.none
|
||||||
|
local float_background = config.disable_float_background and palette.surface or palette.none
|
||||||
|
local inactive_background = config.inactive_background
|
||||||
|
and util.blend('#000000', palette.base, palette.opacity)
|
||||||
|
or palette.none
|
||||||
|
local vert_split_background = config.bold_vertical_split_line and palette.overlay or palette.none
|
||||||
|
|
||||||
local theme = {
|
local theme = {
|
||||||
ColorColumn = { bg = p.highlight_high },
|
ColorColumn = { bg = palette.highlight_high },
|
||||||
Conceal = { bg = p.none },
|
Conceal = { bg = palette.none },
|
||||||
-- Cursor = {},
|
-- Cursor = {},
|
||||||
CursorColumn = { bg = p.highlight_med },
|
CursorColumn = { bg = group.border },
|
||||||
-- CursorIM = {},
|
-- CursorIM = {},
|
||||||
CursorLine = { bg = p.highlight_low },
|
CursorLine = { bg = palette.highlight_low },
|
||||||
CursorLineNr = { fg = p.text },
|
CursorLineNr = { fg = palette.text },
|
||||||
DarkenedPanel = { bg = p.surface },
|
DarkenedPanel = { bg = palette.surface },
|
||||||
DarkenedStatusline = { bg = p.surface },
|
DarkenedStatusline = { bg = palette.surface },
|
||||||
-- TODO: Allow diff overrides. This is a good reason to refactor our config logic to allow setting both fg and bg
|
DiffAdd = { bg = util.blend(group.git_add, palette.base, 0.5) },
|
||||||
DiffAdd = { bg = util.blend(p.foam, p.base, 0.5) },
|
DiffChange = { bg = palette.overlay },
|
||||||
DiffChange = { bg = p.overlay },
|
DiffDelete = { bg = util.blend(group.git_delete, palette.base, 0.5) },
|
||||||
DiffDelete = { bg = util.blend(p.love, p.base, 0.5) },
|
DiffText = { bg = util.blend(group.git_text, palette.base, 0.5) },
|
||||||
DiffText = { bg = util.blend(p.rose, p.base, 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 = palette.foam, bg = palette.none },
|
||||||
-- EndOfBuffer = {},
|
-- EndOfBuffer = {},
|
||||||
ErrorMsg = { fg = p.love, style = 'bold' },
|
ErrorMsg = { fg = palette.love, style = 'bold' },
|
||||||
FloatBorder = { fg = c.border },
|
FloatBorder = { fg = group.border },
|
||||||
FoldColumn = { fg = p.muted },
|
FoldColumn = { fg = palette.muted },
|
||||||
Folded = { fg = p.text, bg = p.surface },
|
Folded = { fg = palette.text, bg = palette.surface },
|
||||||
IncSearch = { bg = p.highlight_high },
|
IncSearch = { bg = palette.highlight_high },
|
||||||
LineNr = { fg = p.muted },
|
LineNr = { fg = palette.muted },
|
||||||
MatchParen = { fg = p.text, bg = p.highlight_med },
|
MatchParen = { fg = palette.text, bg = palette.highlight_med },
|
||||||
ModeMsg = { fg = p.subtle },
|
ModeMsg = { fg = palette.subtle },
|
||||||
MoreMsg = { fg = p.iris },
|
MoreMsg = { fg = palette.iris },
|
||||||
NonText = { fg = p.muted },
|
NonText = { fg = palette.muted },
|
||||||
Normal = { fg = p.text, bg = maybe_background },
|
Normal = { fg = palette.text, bg = background },
|
||||||
NormalNC = { fg = p.text, bg = maybe_inactive_background },
|
NormalNC = { fg = palette.text, bg = inactive_background },
|
||||||
NormalFloat = { fg = p.text, bg = maybe_float_background },
|
NormalFloat = { fg = palette.text, bg = float_background },
|
||||||
Pmenu = { fg = p.subtle, bg = maybe_float_background },
|
Pmenu = { fg = palette.subtle, bg = float_background },
|
||||||
PmenuSbar = { bg = p.overlay },
|
PmenuSbar = { bg = palette.overlay },
|
||||||
PmenuSel = { fg = p.text, bg = p.overlay },
|
PmenuSel = { fg = palette.text, bg = palette.overlay },
|
||||||
PmenuThumb = { bg = p.muted },
|
PmenuThumb = { bg = palette.muted },
|
||||||
Question = { fg = p.gold },
|
Question = { fg = palette.gold },
|
||||||
-- QuickFixLine = {},
|
-- QuickFixLine = {},
|
||||||
Search = { bg = p.highlight_med },
|
Search = { bg = palette.highlight_med },
|
||||||
SpecialKey = { fg = p.foam },
|
SpecialKey = { fg = palette.foam },
|
||||||
SpellBad = { style = 'undercurl', sp = p.love },
|
SpellBad = { sp = palette.love, style = 'undercurl' },
|
||||||
SpellCap = { style = 'undercurl', sp = p.subtle },
|
SpellCap = { sp = palette.subtle, style = 'undercurl' },
|
||||||
SpellLocal = { style = 'undercurl', sp = p.subtle },
|
SpellLocal = { sp = palette.subtle, style = 'undercurl' },
|
||||||
SpellRare = { style = 'undercurl', sp = p.subtle },
|
SpellRare = { sp = palette.subtle, style = 'undercurl' },
|
||||||
SignColumn = { fg = p.text, bg = maybe_background },
|
SignColumn = { fg = palette.text, bg = background },
|
||||||
StatusLine = { fg = p.subtle, bg = p.surface },
|
StatusLine = { fg = palette.subtle, bg = palette.surface },
|
||||||
StatusLineNC = { fg = p.muted, bg = p.surface },
|
StatusLineNC = { fg = palette.muted, bg = palette.base },
|
||||||
-- StatusLineTerm = {},
|
-- StatusLineTerm = {},
|
||||||
-- StatusLineTermNC = {},
|
-- StatusLineTermNC = {},
|
||||||
TabLine = { fg = p.subtle, bg = p.overlay },
|
TabLine = { fg = palette.subtle, bg = palette.overlay },
|
||||||
TabLineFill = { bg = p.surface },
|
TabLineFill = { bg = palette.surface },
|
||||||
TabLineSel = { fg = p.text, bg = p.muted },
|
TabLineSel = { fg = palette.text, bg = palette.muted },
|
||||||
Title = { fg = p.text },
|
Title = { fg = palette.text },
|
||||||
VertSplit = maybe_bold_vert_split,
|
VertSplit = { fg = palette.overlay, bg = vert_split_background },
|
||||||
Visual = { bg = p.highlight_med },
|
Visual = { bg = palette.highlight_med },
|
||||||
-- VisualNOS = {},
|
-- VisualNOS = {},
|
||||||
WarningMsg = { fg = p.gold },
|
WarningMsg = { fg = palette.gold },
|
||||||
-- Whitespace = {},
|
-- Whitespace = {},
|
||||||
-- WildMenu = {},
|
-- WildMenu = {},
|
||||||
|
|
||||||
Boolean = { fg = p.gold },
|
Boolean = { fg = palette.gold },
|
||||||
Character = { fg = p.gold },
|
Character = { fg = palette.gold },
|
||||||
Comment = {
|
Comment = { fg = group.comment, style = maybe_italic },
|
||||||
fg = c.comment,
|
Conditional = { fg = palette.pine },
|
||||||
style = maybe_italic,
|
Constant = { fg = palette.gold },
|
||||||
},
|
Debug = { fg = palette.rose },
|
||||||
Conditional = { fg = p.pine },
|
Define = { fg = palette.iris },
|
||||||
Constant = { fg = p.gold },
|
Delimiter = { fg = palette.subtle },
|
||||||
Debug = { fg = p.rose },
|
Error = { fg = palette.love },
|
||||||
Define = { fg = p.iris },
|
Exception = { fg = palette.pine },
|
||||||
Delimiter = { fg = p.subtle },
|
Float = { fg = palette.gold },
|
||||||
Error = { fg = p.love },
|
Function = { fg = palette.rose },
|
||||||
Exception = { fg = p.pine },
|
Identifier = { fg = palette.rose },
|
||||||
Float = { fg = p.gold },
|
-- Ignore = {},
|
||||||
Function = { fg = p.rose },
|
Include = { fg = palette.iris },
|
||||||
Identifier = { fg = p.rose },
|
Keyword = { fg = palette.pine },
|
||||||
-- Ignore = { fg = '' },
|
Label = { fg = palette.foam },
|
||||||
Include = { fg = p.iris },
|
Macro = { fg = palette.iris },
|
||||||
Keyword = { fg = p.pine },
|
Number = { fg = palette.gold },
|
||||||
Label = { fg = p.foam },
|
Operator = { fg = palette.subtle },
|
||||||
Macro = { fg = p.iris },
|
PreCondit = { fg = palette.iris },
|
||||||
Number = { fg = p.gold },
|
PreProc = { fg = palette.iris },
|
||||||
Operator = { fg = p.subtle },
|
Repeat = { fg = palette.pine },
|
||||||
PreCondit = { fg = p.iris },
|
Special = { fg = palette.rose },
|
||||||
PreProc = { fg = p.iris },
|
SpecialChar = { fg = palette.rose },
|
||||||
Repeat = { fg = p.pine },
|
SpecialComment = { fg = palette.iris },
|
||||||
Special = { fg = p.rose },
|
Statement = { fg = palette.pine },
|
||||||
SpecialChar = { fg = p.rose },
|
StorageClass = { fg = palette.foam },
|
||||||
SpecialComment = { fg = p.iris },
|
String = { fg = palette.gold },
|
||||||
Statement = { fg = p.pine },
|
Structure = { fg = palette.foam },
|
||||||
StorageClass = { fg = p.foam },
|
Tag = { fg = palette.rose },
|
||||||
String = { fg = p.gold },
|
Todo = { fg = palette.iris },
|
||||||
Structure = { fg = p.foam },
|
Type = { fg = palette.foam },
|
||||||
Tag = { fg = p.rose },
|
Typedef = { fg = palette.foam },
|
||||||
Todo = { fg = p.iris },
|
Underlined = { fg = palette.foam, style = 'underline' },
|
||||||
Type = { fg = p.foam },
|
|
||||||
Typedef = { fg = p.foam },
|
|
||||||
Underlined = { fg = p.foam, style = 'underline' },
|
|
||||||
|
|
||||||
htmlArg = { fg = p.iris },
|
htmlArg = { fg = palette.iris },
|
||||||
htmlBold = { fg = p.text, style = 'bold' },
|
htmlBold = { fg = palette.text, style = 'bold' },
|
||||||
htmlEndTag = { fg = p.subtle },
|
htmlEndTag = { fg = palette.subtle },
|
||||||
htmlH1 = { fg = c.headings.h1, style = 'bold' },
|
htmlH1 = { fg = group.headings.h1, style = 'bold' },
|
||||||
htmlH2 = { fg = c.headings.h2, style = 'bold' },
|
htmlH2 = { fg = group.headings.h2, style = 'bold' },
|
||||||
htmlH3 = { fg = c.headings.h3, style = 'bold' },
|
htmlH3 = { fg = group.headings.h3, style = 'bold' },
|
||||||
htmlH4 = { fg = c.headings.h4, style = 'bold' },
|
htmlH4 = { fg = group.headings.h4, style = 'bold' },
|
||||||
htmlH5 = { fg = c.headings.h5, style = 'bold' },
|
htmlH5 = { fg = group.headings.h5, style = 'bold' },
|
||||||
htmlItalic = { fg = p.text, style = maybe_italic },
|
htmlItalic = { fg = palette.text, style = maybe_italic },
|
||||||
htmlLink = { fg = p.text },
|
htmlLink = { fg = group.link },
|
||||||
htmlTag = { fg = p.subtle },
|
htmlTag = { fg = palette.subtle },
|
||||||
htmlTagN = { fg = p.text },
|
htmlTagN = { fg = palette.text },
|
||||||
htmlTagName = { fg = p.foam },
|
htmlTagName = { fg = palette.foam },
|
||||||
|
|
||||||
markdownH1 = { fg = c.headings.h1, style = 'bold' },
|
markdownH1 = { fg = group.headings.h1, style = 'bold' },
|
||||||
markdownH1Delimiter = { fg = c.headings.h1 },
|
markdownH1Delimiter = { fg = group.headings.h1 },
|
||||||
markdownH2 = { fg = c.headings.h2, style = 'bold' },
|
markdownH2 = { fg = group.headings.h2, style = 'bold' },
|
||||||
markdownH2Delimiter = { fg = c.headings.h2 },
|
markdownH2Delimiter = { fg = group.headings.h2 },
|
||||||
markdownH3 = { fg = c.headings.h3, style = 'bold' },
|
markdownH3 = { fg = group.headings.h3, style = 'bold' },
|
||||||
markdownH3Delimiter = { fg = c.headings.h3 },
|
markdownH3Delimiter = { fg = group.headings.h3 },
|
||||||
markdownH4 = { fg = c.headings.h4, style = 'bold' },
|
markdownH4 = { fg = group.headings.h4, style = 'bold' },
|
||||||
markdownH4Delimiter = { fg = c.headings.h4 },
|
markdownH4Delimiter = { fg = group.headings.h4 },
|
||||||
markdownH5 = { fg = c.headings.h5, style = 'bold' },
|
markdownH5 = { fg = group.headings.h5, style = 'bold' },
|
||||||
markdownH5Delimiter = { fg = c.headings.h5 },
|
markdownH5Delimiter = { fg = group.headings.h5 },
|
||||||
markdownH6 = { fg = c.headings.h6, style = 'bold' },
|
markdownH6 = { fg = group.headings.h6, style = 'bold' },
|
||||||
markdownH6Delimiter = { fg = c.headings.h6 },
|
markdownH6Delimiter = { fg = group.headings.h6 },
|
||||||
markdownDelimiter = { fg = p.subtle },
|
markdownDelimiter = { fg = palette.subtle },
|
||||||
markdownLinkText = { fg = p.iris, style = 'underline' },
|
markdownLinkText = { fg = group.link, style = 'underline' },
|
||||||
markdownUrl = { fg = p.iris, style = 'underline' },
|
markdownUrl = { fg = palette.iris, style = 'underline' },
|
||||||
mkdCode = { fg = p.foam, style = maybe_italic },
|
mkdCode = { fg = palette.foam, style = maybe_italic },
|
||||||
mkdCodeDelimiter = { fg = p.rose },
|
mkdCodeDelimiter = { fg = palette.rose },
|
||||||
mkdCodeEnd = { fg = p.foam },
|
mkdCodeEnd = { fg = palette.foam },
|
||||||
mkdCodeStart = { fg = p.foam },
|
mkdCodeStart = { fg = palette.foam },
|
||||||
mkdFootnotes = { fg = p.foam },
|
mkdFootnotes = { fg = palette.foam },
|
||||||
mkdID = { fg = p.foam, style = 'underline' },
|
mkdID = { fg = palette.foam, style = 'underline' },
|
||||||
mkdInlineURL = { fg = p.foam, style = 'underline' },
|
mkdInlineURL = { fg = group.link, style = 'underline' },
|
||||||
mkdLink = { fg = p.rose, style = 'bold' },
|
mkdLink = { fg = group.link, style = 'underline' },
|
||||||
mkdLinkDef = { fg = p.rose, style = 'bold' },
|
mkdLinkDef = { fg = group.link, style = 'underline' },
|
||||||
mkdListItemLine = { fg = p.text },
|
mkdListItemLine = { fg = palette.text },
|
||||||
mkdRule = { fg = p.subtle },
|
mkdRule = { fg = palette.subtle },
|
||||||
mkdURL = { fg = p.foam, style = 'underline' },
|
mkdURL = { fg = palette.foam, style = 'underline' },
|
||||||
|
|
||||||
-- Fix background mismatch if user sets custom float background
|
-- Fix background mismatch if user sets custom float background
|
||||||
-- In LSP hover float: (paramater)
|
-- In LSP hover float: (paramater)
|
||||||
-- ^ ^
|
-- ^ ^
|
||||||
typescriptParens = { bg = p.none },
|
typescriptParens = { bg = palette.none },
|
||||||
|
|
||||||
DiagnosticHint = { fg = c.hint },
|
DiagnosticHint = { fg = group.hint },
|
||||||
DiagnosticInfo = { fg = c.info },
|
DiagnosticInfo = { fg = group.info },
|
||||||
DiagnosticInformation = { link = 'DiagnosticInfo' },
|
DiagnosticInformation = { link = 'DiagnosticInfo' },
|
||||||
DiagnosticWarn = { fg = c.warn },
|
DiagnosticWarn = { fg = group.warn },
|
||||||
DiagnosticWarning = { link = 'DiagnosticWarn' },
|
DiagnosticWarning = { link = 'DiagnosticWarn' },
|
||||||
DiagnosticError = { fg = c.error },
|
DiagnosticError = { fg = group.error },
|
||||||
DiagnosticDefaultHint = { fg = c.hint },
|
DiagnosticDefaultHint = { fg = group.hint },
|
||||||
DiagnosticDefaultInfo = { fg = c.info },
|
DiagnosticDefaultInfo = { fg = group.info },
|
||||||
DiagnosticDefaultWarn = { fg = c.warn },
|
DiagnosticDefaultWarn = { fg = group.warn },
|
||||||
DiagnosticDefaultError = { fg = c.error },
|
DiagnosticDefaultError = { fg = group.error },
|
||||||
DiagnosticFloatingHint = { fg = c.hint },
|
DiagnosticFloatingHint = { fg = group.hint },
|
||||||
DiagnosticFloatingInfo = { fg = c.info },
|
DiagnosticFloatingInfo = { fg = group.info },
|
||||||
DiagnosticFloatingWarn = { fg = c.warn },
|
DiagnosticFloatingWarn = { fg = group.warn },
|
||||||
DiagnosticFloatingError = { fg = c.error },
|
DiagnosticFloatingError = { fg = group.error },
|
||||||
DiagnosticSignHint = { fg = c.hint },
|
DiagnosticSignHint = { fg = group.hint },
|
||||||
DiagnosticSignInfo = { fg = c.info },
|
DiagnosticSignInfo = { fg = group.info },
|
||||||
DiagnosticSignWarn = { fg = c.warn },
|
DiagnosticSignWarn = { fg = group.warn },
|
||||||
DiagnosticSignError = { fg = c.error },
|
DiagnosticSignError = { fg = group.error },
|
||||||
DiagnosticUnderlineHint = { style = 'undercurl', sp = c.hint },
|
DiagnosticUnderlineHint = { sp = group.hint, style = 'undercurl' },
|
||||||
DiagnosticUnderlineInfo = { style = 'undercurl', sp = c.info },
|
DiagnosticUnderlineInfo = { sp = group.info, style = 'undercurl' },
|
||||||
DiagnosticUnderlineWarn = { style = 'undercurl', sp = c.warn },
|
DiagnosticUnderlineWarn = { sp = group.warn, style = 'undercurl' },
|
||||||
DiagnosticUnderlineError = {
|
DiagnosticUnderlineError = { sp = group.error, style = 'undercurl' },
|
||||||
style = 'undercurl',
|
DiagnosticVirtualTextHint = { fg = group.hint },
|
||||||
sp = c.error,
|
DiagnosticVirtualTextInfo = { fg = group.info },
|
||||||
},
|
DiagnosticVirtualTextWarn = { fg = group.warn },
|
||||||
DiagnosticVirtualTextHint = { fg = c.hint },
|
DiagnosticVirtualTextError = { fg = group.error },
|
||||||
DiagnosticVirtualTextInfo = { fg = c.info },
|
|
||||||
DiagnosticVirtualTextWarn = { fg = c.warn },
|
|
||||||
DiagnosticVirtualTextError = { fg = c.error },
|
|
||||||
|
|
||||||
LspReferenceText = { fg = p.rose, bg = p.highlight_med },
|
LspReferenceText = { fg = palette.rose, bg = palette.highlight_med },
|
||||||
LspReferenceRead = { fg = p.rose, bg = p.highlight_med },
|
LspReferenceRead = { fg = palette.rose, bg = palette.highlight_med },
|
||||||
LspReferenceWrite = { fg = p.rose, bg = p.highlight_med },
|
LspReferenceWrite = { fg = palette.rose, bg = palette.highlight_med },
|
||||||
|
|
||||||
-- TODO: Deprecate in favour of 0.6.0 groups
|
-- TODO: Deprecate in favour of 0.6.0 groups
|
||||||
LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' },
|
LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' },
|
||||||
|
|
@ -230,284 +209,248 @@ local theme = {
|
||||||
LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' },
|
LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' },
|
||||||
LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' },
|
LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' },
|
||||||
LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' },
|
LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' },
|
||||||
LspDiagnosticsVirtualTextInformation = {
|
LspDiagnosticsVirtualTextInformation = { link = 'DiagnosticVirtualTextInfo' },
|
||||||
link = 'DiagnosticVirtualTextInfo',
|
|
||||||
},
|
|
||||||
LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' },
|
LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' },
|
||||||
|
|
||||||
-- RedrawDebugNormal
|
-- RedrawDebugNormal
|
||||||
RedrawDebugClear = { fg = '#ffffff', bg = p.gold },
|
RedrawDebugClear = { fg = '#ffffff', bg = palette.gold },
|
||||||
RedrawDebugComposed = { fg = '#ffffff', bg = p.pine },
|
RedrawDebugComposed = { fg = '#ffffff', bg = palette.pine },
|
||||||
RedrawDebugRecompose = { fg = '#ffffff', bg = p.love },
|
RedrawDebugRecompose = { fg = '#ffffff', bg = palette.love },
|
||||||
|
|
||||||
NvimInternalError = { fg = '#ffffff', bg = p.love },
|
NvimInternalError = { fg = '#ffffff', bg = palette.love },
|
||||||
|
|
||||||
-- TSAnnotation = {},
|
-- TSAnnotation = {},
|
||||||
-- TSAttribute = {},
|
-- TSAttribute = {},
|
||||||
TSBoolean = { fg = p.rose },
|
TSBoolean = { fg = palette.rose },
|
||||||
-- TSCharacter = {},
|
-- TSCharacter = {},
|
||||||
TSComment = {
|
TSComment = { fg = group.comment, style = maybe_italic },
|
||||||
fg = c.comment,
|
|
||||||
style = maybe_italic,
|
|
||||||
},
|
|
||||||
-- TSConditional = {},
|
-- TSConditional = {},
|
||||||
TSConstBuiltin = { fg = p.love },
|
TSConstBuiltin = { fg = palette.love },
|
||||||
-- TSConstMacro = {},
|
-- TSConstMacro = {},
|
||||||
TSConstant = { fg = p.foam },
|
TSConstant = { fg = palette.foam },
|
||||||
TSConstructor = { fg = p.foam },
|
TSConstructor = { fg = palette.foam },
|
||||||
-- TSEmphasis = {},
|
-- TSEmphasis = {},
|
||||||
-- TSError = {},
|
-- TSError = {},
|
||||||
-- TSException = {},
|
-- TSException = {},
|
||||||
TSField = { fg = p.foam },
|
TSField = { fg = palette.foam },
|
||||||
-- TSFloat = {},
|
-- TSFloat = {},
|
||||||
TSFuncBuiltin = { fg = p.love },
|
TSFuncBuiltin = { fg = palette.love },
|
||||||
-- TSFuncMacro = {},
|
-- TSFuncMacro = {},
|
||||||
TSFunction = { fg = p.rose },
|
TSFunction = { fg = palette.rose },
|
||||||
TSInclude = { fg = p.pine },
|
TSInclude = { fg = palette.pine },
|
||||||
TSKeyword = { fg = p.pine },
|
TSKeyword = { fg = palette.pine },
|
||||||
-- TSKeywordFunction = {},
|
-- TSKeywordFunction = {},
|
||||||
TSKeywordOperator = { fg = p.subtle },
|
TSKeywordOperator = { fg = palette.subtle },
|
||||||
TSLabel = { fg = p.foam },
|
TSLabel = { fg = palette.foam },
|
||||||
-- TSLiteral = {},
|
-- TSLiteral = {},
|
||||||
-- TSMethod = {},
|
-- TSMethod = {},
|
||||||
-- TSNamespace = {},
|
-- TSNamespace = {},
|
||||||
-- TSNone = {},
|
-- TSNone = {},
|
||||||
-- TSNumber = {},
|
-- TSNumber = {},
|
||||||
TSOperator = { fg = p.subtle },
|
TSOperator = { fg = palette.subtle },
|
||||||
TSParameter = {
|
TSParameter = { fg = palette.iris, style = maybe_italic },
|
||||||
fg = p.iris,
|
|
||||||
style = maybe_italic,
|
|
||||||
},
|
|
||||||
-- TSParameterReference = {},
|
-- TSParameterReference = {},
|
||||||
TSProperty = {
|
TSProperty = { fg = palette.iris, style = maybe_italic },
|
||||||
fg = p.iris,
|
TSPunctBracket = { fg = group.punctuation },
|
||||||
style = maybe_italic,
|
TSPunctDelimiter = { fg = group.punctuation },
|
||||||
},
|
TSPunctSpecial = { fg = group.punctuation },
|
||||||
TSPunctBracket = { fg = c.punctuation },
|
|
||||||
TSPunctDelimiter = { fg = c.punctuation },
|
|
||||||
TSPunctSpecial = { fg = c.punctuation },
|
|
||||||
-- TSRepeat = {},
|
-- TSRepeat = {},
|
||||||
-- TSStrike = {},
|
-- TSStrike = {},
|
||||||
TSString = { fg = p.gold },
|
TSString = { fg = palette.gold },
|
||||||
TSStringEscape = { fg = p.pine },
|
TSStringEscape = { fg = palette.pine },
|
||||||
-- TSStringRegex = {},
|
-- TSStringRegex = {},
|
||||||
TSStringSpecial = { link = 'TSString' },
|
TSStringSpecial = { link = 'TSString' },
|
||||||
-- TSSymbol = {},
|
-- TSSymbol = {},
|
||||||
TSTag = { fg = p.foam },
|
TSTag = { fg = palette.foam },
|
||||||
TSTagDelimiter = { fg = p.subtle },
|
TSTagDelimiter = { fg = palette.subtle },
|
||||||
TSText = { fg = p.text },
|
TSText = { fg = palette.text },
|
||||||
TSTitle = { fg = c.headings.h1, style = 'bold' },
|
TSTitle = { fg = group.headings.h1, style = 'bold' },
|
||||||
-- TSType = {},
|
-- TSType = {},
|
||||||
-- TSTypeBuiltin = {},
|
-- TSTypeBuiltin = {},
|
||||||
TSURI = { fg = p.gold },
|
TSURI = { fg = palette.gold },
|
||||||
-- TSUnderline = {},
|
-- TSUnderline = {},
|
||||||
TSVariable = {
|
TSVariable = { fg = palette.text, style = maybe_italic },
|
||||||
fg = p.text,
|
TSVariableBuiltin = { fg = palette.love },
|
||||||
style = maybe_italic,
|
|
||||||
},
|
|
||||||
TSVariableBuiltin = { fg = p.love },
|
|
||||||
|
|
||||||
-- barbar.nvim
|
-- romgrk/barbar.nvim
|
||||||
-- https://github.com/romgrk/barbar.nvim
|
BufferTabpageFill = { fg = palette.base, bg = palette.base },
|
||||||
BufferTabpageFill = { fg = p.base, bg = p.base },
|
BufferCurrent = { fg = palette.text, bg = palette.overlay },
|
||||||
BufferCurrent = { fg = p.text, bg = p.overlay },
|
BufferCurrentIndex = { fg = palette.text, bg = palette.overlay },
|
||||||
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
|
BufferCurrentMod = { fg = palette.foam, bg = palette.overlay },
|
||||||
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
|
BufferCurrentSign = { fg = palette.subtle, bg = palette.overlay },
|
||||||
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
|
BufferCurrentTarget = { fg = palette.gold, bg = palette.overlay },
|
||||||
BufferCurrentTarget = { fg = p.gold, bg = p.overlay },
|
BufferInactive = { fg = palette.subtle },
|
||||||
BufferInactive = { fg = p.subtle },
|
BufferInactiveIndex = { fg = palette.subtle },
|
||||||
BufferInactiveIndex = { fg = p.subtle },
|
BufferInactiveMod = { fg = palette.foam },
|
||||||
BufferInactiveMod = { fg = p.foam },
|
BufferInactiveSign = { fg = palette.muted },
|
||||||
BufferInactiveSign = { fg = p.muted },
|
BufferInactiveTarget = { fg = palette.gold },
|
||||||
BufferInactiveTarget = { fg = p.gold },
|
BufferVisible = { fg = palette.subtle },
|
||||||
BufferVisible = { fg = p.subtle },
|
BufferVisibleIndex = { fg = palette.subtle },
|
||||||
BufferVisibleIndex = { fg = p.subtle },
|
BufferVisibleMod = { fg = palette.foam },
|
||||||
BufferVisibleMod = { fg = p.foam },
|
BufferVisibleSign = { fg = palette.muted },
|
||||||
BufferVisibleSign = { fg = p.muted },
|
BufferVisibleTarget = { fg = palette.gold },
|
||||||
BufferVisibleTarget = { fg = p.gold },
|
|
||||||
|
|
||||||
-- gitsigns.nvim
|
-- lewis6991/gitsigns.nvim
|
||||||
-- https://github.com/lewis6991/gitsigns.nvim
|
SignAdd = { fg = group.git_add },
|
||||||
SignAdd = { fg = p.foam },
|
SignChange = { fg = group.git_change },
|
||||||
SignChange = { fg = p.rose },
|
SignDelete = { fg = group.git_delete },
|
||||||
SignDelete = { fg = p.love },
|
GitSignsAdd = { fg = group.git_add },
|
||||||
GitSignsAdd = { fg = p.foam },
|
GitSignsChange = { fg = group.git_change },
|
||||||
GitSignsChange = { fg = p.rose },
|
GitSignsDelete = { fg = group.git_delete },
|
||||||
GitSignsDelete = { fg = p.love },
|
|
||||||
|
|
||||||
-- modes.nvim
|
-- mvllow/modes.nvim
|
||||||
-- https://github.com/mvllow/modes.nvim
|
ModesCopy = { bg = palette.gold },
|
||||||
ModesCopy = { bg = p.gold },
|
ModesDelete = { bg = palette.love },
|
||||||
ModesDelete = { bg = p.love },
|
ModesInsert = { bg = palette.foam },
|
||||||
ModesInsert = { bg = p.foam },
|
ModesVisual = { bg = palette.iris },
|
||||||
ModesVisual = { bg = p.iris },
|
|
||||||
|
|
||||||
-- nvim-tree.lua
|
-- kyazdani42/nvim-tree.lua
|
||||||
-- https://github.com/kyazdani42/nvim-tree.lua
|
NvimTreeNormal = { fg = palette.text },
|
||||||
NvimTreeNormal = { fg = p.text },
|
NvimTreeFileDeleted = { fg = palette.love },
|
||||||
NvimTreeFileDeleted = { fg = p.love },
|
NvimTreeFileDirty = { fg = palette.rose },
|
||||||
NvimTreeFileDirty = { fg = p.rose },
|
NvimTreeFileMerge = { fg = palette.iris },
|
||||||
NvimTreeFileMerge = { fg = p.iris },
|
NvimTreeFileNew = { fg = palette.foam },
|
||||||
NvimTreeFileNew = { fg = p.foam },
|
NvimTreeFileRenamed = { fg = palette.pine },
|
||||||
NvimTreeFileRenamed = { fg = p.pine },
|
NvimTreeFileStaged = { fg = palette.iris },
|
||||||
NvimTreeFileStaged = { fg = p.iris },
|
NvimTreeEmptyFolderName = { fg = palette.muted },
|
||||||
NvimTreeEmptyFolderName = { fg = p.muted },
|
NvimTreeFolderIcon = { fg = palette.subtle },
|
||||||
NvimTreeFolderIcon = { fg = p.subtle },
|
NvimTreeFolderName = { fg = palette.foam },
|
||||||
NvimTreeFolderName = { fg = p.foam },
|
NvimTreeImageFile = { fg = palette.text },
|
||||||
NvimTreeImageFile = { fg = p.text },
|
NvimTreeOpenedFile = { fg = palette.text, bg = palette.highlight_med },
|
||||||
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight_med },
|
NvimTreeOpenedFolderName = { fg = palette.foam },
|
||||||
NvimTreeOpenedFolderName = { fg = p.foam },
|
NvimTreeRootFolder = { fg = palette.iris },
|
||||||
NvimTreeRootFolder = { fg = p.iris },
|
|
||||||
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
|
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
|
||||||
NvimTreeGitDeleted = { fg = p.love },
|
NvimTreeGitDeleted = { fg = group.git_delete },
|
||||||
NvimTreeGitDirty = { fg = p.rose },
|
NvimTreeGitDirty = { fg = group.git_dirty },
|
||||||
NvimTreeGitIgnored = { fg = p.subtle },
|
NvimTreeGitIgnored = { fg = group.git_ignore },
|
||||||
NvimTreeGitMerge = { fg = p.iris },
|
NvimTreeGitMerge = { fg = group.git_merge },
|
||||||
NvimTreeGitNew = { fg = p.foam },
|
NvimTreeGitNew = { fg = group.git_add },
|
||||||
NvimTreeGitRenamed = { fg = p.pine },
|
NvimTreeGitRenamed = { fg = group.git_rename },
|
||||||
NvimTreeGitStaged = { fg = p.iris },
|
NvimTreeGitStaged = { fg = group.git_stage },
|
||||||
NvimTreeWindowPicker = { fg = p.base, bg = p.iris },
|
NvimTreeWindowPicker = { fg = palette.base, bg = palette.iris },
|
||||||
|
|
||||||
-- which-key.nvim
|
-- folke/which-key.nvim
|
||||||
-- https://github.com/folke/which-key.nvim
|
WhichKey = { fg = palette.iris },
|
||||||
WhichKey = { fg = p.iris },
|
WhichKeyGroup = { fg = palette.foam },
|
||||||
WhichKeyGroup = { fg = p.foam },
|
WhichKeySeparator = { fg = palette.subtle },
|
||||||
WhichKeySeparator = { fg = p.subtle },
|
WhichKeyDesc = { fg = palette.gold },
|
||||||
WhichKeyDesc = { fg = p.gold },
|
WhichKeyFloat = { bg = palette.surface },
|
||||||
WhichKeyFloat = { bg = p.surface },
|
WhichKeyValue = { fg = palette.rose },
|
||||||
WhichKeyValue = { fg = p.rose },
|
|
||||||
|
|
||||||
-- indent-blankline.nvim
|
-- luka-reineke/indent-blankline.nvim
|
||||||
-- https://github.com/lukas-reineke/indent-blankline.nvim
|
IndentBlanklineChar = { fg = palette.muted },
|
||||||
IndentBlanklineChar = { fg = p.subtle },
|
|
||||||
|
|
||||||
-- nvim-cmp
|
-- hrsh7th/nvim-cmp
|
||||||
-- https://github.com/hrsh7th/nvim-cmp
|
CmpItemKind = { fg = palette.iris },
|
||||||
CmpItemKind = { fg = p.iris },
|
CmpItemAbbr = { fg = palette.subtle },
|
||||||
CmpItemAbbr = { fg = p.subtle },
|
CmpItemAbbrMatch = { fg = palette.text, style = 'bold' },
|
||||||
CmpItemAbbrMatch = { fg = p.text, style = 'bold' },
|
CmpItemAbbrMatchFuzzy = { fg = palette.text, style = 'bold' },
|
||||||
CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' },
|
CmpItemAbbrDeprecated = { fg = palette.subtle, style = 'strikethrough' },
|
||||||
CmpItemAbbrDeprecated = { fg = p.subtle, style = 'strikethrough' },
|
CmpItemKindVariable = { fg = palette.foam },
|
||||||
CmpItemKindVariable = { fg = p.foam },
|
CmpItemKindClass = { fg = palette.gold },
|
||||||
CmpItemKindClass = { fg = p.gold },
|
CmpItemKindInterface = { fg = palette.gold },
|
||||||
CmpItemKindInterface = { fg = p.gold },
|
CmpItemKindFunction = { fg = palette.iris },
|
||||||
CmpItemKindFunction = { fg = p.iris },
|
CmpItemKindMethod = { fg = palette.iris },
|
||||||
CmpItemKindMethod = { fg = p.iris },
|
CmpItemKindSnippet = { fg = palette.iris },
|
||||||
CmpItemKindSnippet = { fg = p.iris },
|
|
||||||
|
|
||||||
-- neogit
|
-- TimUntersberger/neogit
|
||||||
-- https://github.com/TimUntersberger/neogit
|
NeogitDiffAddHighlight = { fg = palette.foam, bg = palette.highlight_med },
|
||||||
NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med },
|
NeogitDiffDeleteHighlight = { fg = palette.love, bg = palette.highlight_med },
|
||||||
NeogitDiffDeleteHighlight = {
|
NeogitDiffContextHighlight = { bg = palette.highlight_low },
|
||||||
fg = p.love,
|
NeogitHunkHeader = { bg = palette.highlight_low },
|
||||||
bg = p.highlight_med,
|
NeogitHunkHeaderHighlight = { bg = palette.highlight_low },
|
||||||
},
|
|
||||||
NeogitDiffContextHighlight = { bg = p.highlight_low },
|
|
||||||
NeogitHunkHeader = { bg = p.highlight_low },
|
|
||||||
NeogitHunkHeaderHighlight = { bg = p.highlight_low },
|
|
||||||
|
|
||||||
-- VimWiki
|
-- vimwiki/vimwiki
|
||||||
-- https://github.com/vimwiki/vimwiki
|
VimwikiHR = { fg = palette.subtle },
|
||||||
VimwikiHR = { fg = p.subtle },
|
VimwikiHeader1 = { fg = group.headings.h1, style = 'bold' },
|
||||||
VimwikiHeader1 = { fg = c.headings.h1, style = 'bold' },
|
VimwikiHeader2 = { fg = group.headings.h2, style = 'bold' },
|
||||||
VimwikiHeader2 = { fg = c.headings.h2, style = 'bold' },
|
VimwikiHeader3 = { fg = group.headings.h3, style = 'bold' },
|
||||||
VimwikiHeader3 = { fg = c.headings.h3, style = 'bold' },
|
VimwikiHeader4 = { fg = group.headings.h4, style = 'bold' },
|
||||||
VimwikiHeader4 = { fg = c.headings.h4, style = 'bold' },
|
VimwikiHeader5 = { fg = group.headings.h5, style = 'bold' },
|
||||||
VimwikiHeader5 = { fg = c.headings.h5, style = 'bold' },
|
VimwikiHeader6 = { fg = group.headings.h6, style = 'bold' },
|
||||||
VimwikiHeader6 = { fg = c.headings.h6, style = 'bold' },
|
VimwikiHeaderChar = { fg = palette.pine },
|
||||||
VimwikiHeaderChar = { fg = p.pine },
|
VimwikiLink = { fg = group.link, style = 'underline' },
|
||||||
VimwikiLink = { fg = p.rose, style = 'underline' },
|
VimwikiList = { fg = palette.iris },
|
||||||
VimwikiList = { fg = p.iris },
|
VimwikiNoExistsLink = { fg = palette.love },
|
||||||
VimwikiNoExistsLink = { fg = p.love },
|
|
||||||
|
|
||||||
-- Neorg
|
-- nvim-neorg/neorg
|
||||||
-- https://github.com/nvim-neorg/neorg
|
NeorgHeading1Prefix = { fg = group.headings.h1, style = 'bold' },
|
||||||
NeorgHeading1Prefix = { fg = c.headings.h1, style = 'bold' },
|
NeorgHeading1Title = { fg = group.headings.h1, style = 'bold' },
|
||||||
NeorgHeading2Prefix = { fg = c.headings.h2, style = 'bold' },
|
NeorgHeading2Prefix = { fg = group.headings.h2, style = 'bold' },
|
||||||
NeorgHeading3Prefix = { fg = c.headings.h3, style = 'bold' },
|
NeorgHeading2Title = { fg = group.headings.h2, style = 'bold' },
|
||||||
NeorgHeading4Prefix = { fg = c.headings.h4, style = 'bold' },
|
NeorgHeading3Prefix = { fg = group.headings.h3, style = 'bold' },
|
||||||
NeorgHeading5Prefix = { fg = c.headings.h5, style = 'bold' },
|
NeorgHeading3Title = { fg = group.headings.h3, style = 'bold' },
|
||||||
NeorgHeading6Prefix = { fg = c.headings.h6, style = 'bold' },
|
NeorgHeading4Prefix = { fg = group.headings.h4, style = 'bold' },
|
||||||
|
NeorgHeading4Title = { fg = group.headings.h4, style = 'bold' },
|
||||||
|
NeorgHeading5Prefix = { fg = group.headings.h5, style = 'bold' },
|
||||||
|
NeorgHeading5Title = { fg = group.headings.h5, style = 'bold' },
|
||||||
|
NeorgHeading6Prefix = { fg = group.headings.h6, style = 'bold' },
|
||||||
|
NeorgHeading6Title = { fg = group.headings.h6, style = 'bold' },
|
||||||
|
NeorgMarkerTitle = { fg = palette.text, style = 'bold' },
|
||||||
|
|
||||||
NeorgHeading1Title = { fg = c.headings.h1, style = 'bold' },
|
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
|
||||||
NeorgHeading2Title = { fg = c.headings.h2, style = 'bold' },
|
DefinitionCount = { fg = palette.rose },
|
||||||
NeorgHeading3Title = { fg = c.headings.h3, style = 'bold' },
|
DefinitionIcon = { fg = palette.rose },
|
||||||
NeorgHeading4Title = { fg = c.headings.h4, style = 'bold' },
|
DefintionPreviewTitle = { fg = palette.rose, style = 'bold' },
|
||||||
NeorgHeading5Title = { fg = c.headings.h5, style = 'bold' },
|
LspFloatWinBorder = { fg = group.border },
|
||||||
NeorgHeading6Title = { fg = c.headings.h6, style = 'bold' },
|
LspFloatWinNormal = { bg = palette.base },
|
||||||
|
LspSagaAutoPreview = { fg = palette.subtle },
|
||||||
NeorgMarkerTitle = { fg = p.text, style = 'bold' },
|
LspSagaCodeActionBorder = { fg = group.border },
|
||||||
-- LspSaga
|
LspSagaCodeActionContent = { fg = palette.foam },
|
||||||
-- https://github.com/tami5/lspsaga.nvim (fork of https://github.com/glepnir/lspsaga.nvim)
|
LspSagaCodeActionTitle = { fg = palette.gold, style = 'bold' },
|
||||||
LspSagaCodeActionTitle = {
|
|
||||||
fg = p.gold,
|
|
||||||
style = 'bold',
|
|
||||||
},
|
|
||||||
LspSagaCodeActionBorder = { fg = c.border },
|
|
||||||
LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' },
|
LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' },
|
||||||
LspSagaCodeActionContent = { fg = p.foam },
|
LspSagaDefPreviewBorder = { fg = group.border },
|
||||||
LspSagaDiagnosticBorder = { fg = c.border },
|
LspSagaDiagnosticBorder = { fg = group.border },
|
||||||
LspSagaDiagnosticHeader = { fg = p.gold, style = 'bold' },
|
LspSagaDiagnosticHeader = { fg = palette.gold, style = 'bold' },
|
||||||
LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' },
|
LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' },
|
||||||
LspSagaFinderSelection = { fg = p.gold },
|
|
||||||
LspSagaLspFinderBorder = { fg = c.border },
|
|
||||||
LspSagaAutoPreview = { fg = p.subtle },
|
|
||||||
LspSagaDefPreviewBorder = { fg = c.border },
|
|
||||||
DefinitionIcon = { fg = p.rose },
|
|
||||||
DefinitionCount = { fg = p.rose },
|
|
||||||
ReferencesCount = { fg = p.rose },
|
|
||||||
ReferencesIcon = { fg = p.rose },
|
|
||||||
DefintionPreviewTitle = { fg = p.rose, style = 'bold' },
|
|
||||||
LspSagaRenamePromptPrefix = { fg = p.love },
|
|
||||||
LspSagaRenameBorder = { fg = p.pine },
|
|
||||||
LspFloatWinNormal = { bg = p.base },
|
|
||||||
LspFloatWinBorder = { fg = c.border },
|
|
||||||
LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' },
|
LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' },
|
||||||
LspSagaHoverBorder = { fg = c.border },
|
LspSagaFinderSelection = { fg = palette.gold },
|
||||||
LspSagaSignatureHelpBorder = { fg = p.pine },
|
LspSagaHoverBorder = { fg = group.border },
|
||||||
|
LspSagaLspFinderBorder = { fg = group.border },
|
||||||
|
LspSagaRenameBorder = { fg = palette.pine },
|
||||||
|
LspSagaRenamePromptPrefix = { fg = palette.love },
|
||||||
LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' },
|
LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' },
|
||||||
TargetWord = { fg = p.iris },
|
LspSagaSignatureHelpBorder = { fg = palette.pine },
|
||||||
|
ReferencesCount = { fg = palette.rose },
|
||||||
|
ReferencesIcon = { fg = palette.rose },
|
||||||
|
SagaShadow = { bg = palette.overlay },
|
||||||
|
TargetWord = { fg = palette.iris },
|
||||||
|
|
||||||
SagaShadow = { bg = p.overlay },
|
-- ray-x/lsp_signature.nvim
|
||||||
|
LspSignatureActiveParameter = { bg = palette.overlay },
|
||||||
|
|
||||||
-- Lsp_Signature
|
-- rlane/pounce.nvim
|
||||||
-- https://github.com/ray-x/lsp_signature.nvim
|
PounceAccept = { fg = palette.love, bg = palette.highlight_high },
|
||||||
LspSignatureActiveParameter = { bg = p.overlay },
|
PounceAcceptBest = { fg = palette.base, bg = palette.gold },
|
||||||
|
|
||||||
-- pounce
|
|
||||||
-- https://github.com/rlane/pounce.nvim
|
|
||||||
PounceMatch = { link = 'Search' },
|
|
||||||
PounceGap = { link = 'Search' },
|
PounceGap = { link = 'Search' },
|
||||||
PounceAccept = { fg = p.love, bg = p.highlight_high },
|
PounceMatch = { link = 'Search' },
|
||||||
PounceAcceptBest = { fg = p.base, bg = p.gold },
|
|
||||||
|
|
||||||
-- telescope.nvim
|
-- nvim-telescope/telescope.nvim
|
||||||
-- https://github.com/nvim-telescope/telescope.nvim
|
TelescopeBorder = { fg = group.border },
|
||||||
TelescopeNormal = { fg = p.subtle },
|
TelescopeMatching = { fg = palette.rose },
|
||||||
TelescopePromptNormal = { fg = p.text },
|
TelescopeNormal = { fg = palette.subtle },
|
||||||
TelescopeBorder = { fg = c.border },
|
TelescopePromptNormal = { fg = palette.text },
|
||||||
TelescopeMatching = { fg = p.rose },
|
TelescopePromptPrefix = { fg = palette.subtle },
|
||||||
TelescopePromptPrefix = { fg = p.subtle },
|
TelescopeSelection = { fg = palette.text, bg = palette.highlight_low },
|
||||||
TelescopeSelection = { fg = p.text, bg = p.highlight_low },
|
TelescopeSelectionCaret = { fg = palette.rose, bg = palette.highlight_low },
|
||||||
TelescopeSelectionCaret = { fg = p.rose, bg = p.highlight_low },
|
TelescopeTitle = { fg = palette.subtle },
|
||||||
TelescopeTitle = { fg = p.subtle },
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.g.terminal_color_0 = p.overlay -- black
|
vim.g.terminal_color_0 = palette.overlay -- black
|
||||||
vim.g.terminal_color_8 = p.subtle -- bright black
|
vim.g.terminal_color_8 = palette.subtle -- bright black
|
||||||
vim.g.terminal_color_1 = p.love -- red
|
vim.g.terminal_color_1 = palette.love -- red
|
||||||
vim.g.terminal_color_9 = p.love -- bright red
|
vim.g.terminal_color_9 = palette.love -- bright red
|
||||||
vim.g.terminal_color_2 = p.pine -- green
|
vim.g.terminal_color_2 = palette.pine -- green
|
||||||
vim.g.terminal_color_10 = p.pine -- bright green
|
vim.g.terminal_color_10 = palette.pine -- bright green
|
||||||
vim.g.terminal_color_3 = p.gold -- yellow
|
vim.g.terminal_color_3 = palette.gold -- yellow
|
||||||
vim.g.terminal_color_11 = p.gold -- bright yellow
|
vim.g.terminal_color_11 = palette.gold -- bright yellow
|
||||||
vim.g.terminal_color_4 = p.foam -- blue
|
vim.g.terminal_color_4 = palette.foam -- blue
|
||||||
vim.g.terminal_color_12 = p.foam -- bright blue
|
vim.g.terminal_color_12 = palette.foam -- bright blue
|
||||||
vim.g.terminal_color_5 = p.iris -- magenta
|
vim.g.terminal_color_5 = palette.iris -- magenta
|
||||||
vim.g.terminal_color_13 = p.iris -- bright magenta
|
vim.g.terminal_color_13 = palette.iris -- bright magenta
|
||||||
vim.g.terminal_color_6 = p.rose -- cyan
|
vim.g.terminal_color_6 = palette.rose -- cyan
|
||||||
vim.g.terminal_color_14 = p.rose -- bright cyan
|
vim.g.terminal_color_14 = palette.rose -- bright cyan
|
||||||
vim.g.terminal_color_7 = p.text -- white
|
vim.g.terminal_color_7 = palette.text -- white
|
||||||
vim.g.terminal_color_15 = p.text -- bright white
|
vim.g.terminal_color_15 = palette.text -- bright white
|
||||||
|
|
||||||
return theme
|
return theme
|
||||||
|
|
|
||||||
80
readme.md
80
readme.md
|
|
@ -17,7 +17,7 @@
|
||||||
use({
|
use({
|
||||||
'rose-pine/neovim',
|
'rose-pine/neovim',
|
||||||
as = 'rose-pine',
|
as = 'rose-pine',
|
||||||
tag = 'v0.1.0', -- Optional tag release
|
-- tag = '...',
|
||||||
config = function()
|
config = function()
|
||||||
vim.cmd('colorscheme rose-pine')
|
vim.cmd('colorscheme rose-pine')
|
||||||
end
|
end
|
||||||
|
|
@ -43,7 +43,6 @@ use({
|
||||||
- [Telescope](https://github.com/nvim-telescope/telescope.nvim)
|
- [Telescope](https://github.com/nvim-telescope/telescope.nvim)
|
||||||
- [Lualine](https://github.com/hoob3rt/lualine.nvim)
|
- [Lualine](https://github.com/hoob3rt/lualine.nvim)
|
||||||
|
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
require('lualine').setup({
|
require('lualine').setup({
|
||||||
options = { theme = 'rose-pine' }
|
options = { theme = 'rose-pine' }
|
||||||
|
|
@ -75,35 +74,46 @@ local colors = require("galaxyline.themes.colors")["rose-pine"]
|
||||||
> Options should be set **before** colorscheme
|
> Options should be set **before** colorscheme
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
-- Set theme variant
|
-- set theme variant, matching terminal theme if unset
|
||||||
-- Matches terminal theme if unset
|
|
||||||
-- @usage 'main' | 'moon' | 'dawn'
|
-- @usage 'main' | 'moon' | 'dawn'
|
||||||
vim.g.rose_pine_variant = ''
|
vim.g.rose_pine_variant = ''
|
||||||
|
|
||||||
vim.g.rose_pine_bold_vertical_split_line = false
|
vim.g.rose_pine_bold_vertical_split_line = false
|
||||||
vim.g.rose_pine_inactive_background = false
|
|
||||||
vim.g.rose_pine_disable_background = false
|
vim.g.rose_pine_disable_background = false
|
||||||
vim.g.rose_pine_disable_float_background = false
|
vim.g.rose_pine_disable_float_background = false
|
||||||
vim.g.rose_pine_disable_italics = false
|
vim.g.rose_pine_disable_italics = false
|
||||||
|
vim.g.rose_pine_inactive_background = false
|
||||||
|
|
||||||
local p = require('rose-pine.palette')
|
local palette = require('rose-pine.palette')
|
||||||
vim.g.rose_pine_colors = {
|
vim.g.rose_pine_colors = {
|
||||||
punctuation = p.subtle,
|
border = palette.highlight_med,
|
||||||
comment = p.subtle,
|
comment = palette.muted,
|
||||||
border = p.highlight_med,
|
link = palette.iris,
|
||||||
hint = p.iris,
|
punctuation = palette.subtle,
|
||||||
info = p.foam,
|
|
||||||
warn = p.gold,
|
|
||||||
error = p.love,
|
|
||||||
|
|
||||||
-- Or set all headings to one colour: `headings = p.text`
|
error = palette.love,
|
||||||
|
hint = palette.iris,
|
||||||
|
info = palette.foam,
|
||||||
|
warn = palette.gold,
|
||||||
|
|
||||||
|
git_add = palette.foam,
|
||||||
|
git_change = palette.rose,
|
||||||
|
git_delete = palette.love,
|
||||||
|
git_dirty = palette.rose,
|
||||||
|
git_ignore = palette.muted,
|
||||||
|
git_merge = palette.iris,
|
||||||
|
git_rename = palette.pine,
|
||||||
|
git_stage = palette.iris,
|
||||||
|
git_text = palette.rose,
|
||||||
|
|
||||||
|
-- or set all headings to one colour: `headings = palette.text`
|
||||||
headings = {
|
headings = {
|
||||||
h1 = p.iris,
|
h1 = palette.iris,
|
||||||
h2 = p.foam,
|
h2 = palette.foam,
|
||||||
h3 = p.rose,
|
h3 = palette.rose,
|
||||||
h4 = p.gold,
|
h4 = palette.gold,
|
||||||
h5 = p.pine,
|
h5 = palette.pine,
|
||||||
h6 = p.foam,
|
h6 = palette.foam,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -111,31 +121,19 @@ vim.g.rose_pine_colors = {
|
||||||
vim.cmd('colorscheme rose-pine')
|
vim.cmd('colorscheme rose-pine')
|
||||||
```
|
```
|
||||||
|
|
||||||
## Functions
|
## Suggested keymaps
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
-- Toggle between all variants
|
-- toggle between all variants
|
||||||
require('rose-pine').toggle()
|
vim.keymap.set('n', '<leader>tt', require('rose-pine').toggle)
|
||||||
|
|
||||||
-- Toggle between some variants
|
-- or toggle between some variants
|
||||||
require('rose-pine').toggle({'main', 'dawn'})
|
vim.keymap.set('n', '<leader>tt', function() return require('rose-pine').toggle({'moon', 'dawn'}) end)
|
||||||
|
|
||||||
-- Set specific variant
|
-- set variant
|
||||||
require('rose-pine').set('moon')
|
vim.keymap.set('n', '<leader>t1', function() return require('rose-pine').set('main') end)
|
||||||
```
|
vim.keymap.set('n', '<leader>t2', function() return require('rose-pine').set('moon') end)
|
||||||
|
vim.keymap.set('n', '<leader>t3', function() return require('rose-pine').set('dawn') end)
|
||||||
## Keymaps
|
|
||||||
|
|
||||||
> These are only suggestions; no keymaps are set by the theme
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- Toggle variants
|
|
||||||
vim.api.nvim_set_keymap('n', '<c-m>', [[<cmd>lua require('rose-pine').toggle()<cr>]], { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Set variant
|
|
||||||
vim.api.nvim_set_keymap('n', '<c-0>', [[<cmd>lua require('rose-pine').set('main')<cr>]], { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<c-9>', [[<cmd>lua require('rose-pine').set('moon')<cr>]], { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<c-8>', [[<cmd>lua require('rose-pine').set('dawn')<cr>]], { noremap = true, silent = true })
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue