feat: add link override

- refactor config and readme
This commit is contained in:
mvllow 2022-02-02 17:44:07 -06:00
commit b1069203d1
4 changed files with 446 additions and 480 deletions

View file

@ -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 = {

View file

@ -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,
}, },
} }

View file

@ -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

View file

@ -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