mirror of
https://github.com/rose-pine/neovim.git
synced 2025-10-15 12:38:53 +02:00
refactor theme
This commit is contained in:
parent
70bd2ee9e6
commit
5d560dfb11
2 changed files with 292 additions and 328 deletions
|
|
@ -1,131 +1,145 @@
|
||||||
local p = require('rose-pine.palette')
|
local p = require('rose-pine.palette')
|
||||||
|
|
||||||
local theme = {}
|
local theme = {}
|
||||||
|
local maybe_base = p.base
|
||||||
|
|
||||||
theme.loadSyntax = function()
|
if vim.g.rose_pine_disable_background then
|
||||||
local syntax = {
|
maybe_base = p.none
|
||||||
Boolean = { fg = p.gold },
|
|
||||||
Character = { fg = p.gold },
|
|
||||||
Comment = {
|
|
||||||
fg = p.subtle,
|
|
||||||
style = vim.g.rose_pine_enable_italics and 'italic',
|
|
||||||
},
|
|
||||||
Conditional = { fg = p.pine },
|
|
||||||
Constant = { fg = p.gold },
|
|
||||||
Debug = { fg = p.rose },
|
|
||||||
Define = { fg = p.iris },
|
|
||||||
Delimiter = { fg = p.rose },
|
|
||||||
Error = { fg = p.love },
|
|
||||||
Exception = { fg = p.pine },
|
|
||||||
Float = { fg = p.gold },
|
|
||||||
Function = { fg = p.rose },
|
|
||||||
Identifier = { fg = p.rose },
|
|
||||||
-- Ignore = { fg = '' },
|
|
||||||
Include = { fg = p.iris },
|
|
||||||
Keyword = { fg = p.pine },
|
|
||||||
Label = { fg = p.foam },
|
|
||||||
Macro = { fg = p.iris },
|
|
||||||
Number = { fg = p.gold },
|
|
||||||
Operator = { fg = p.subtle },
|
|
||||||
PreCondit = { fg = p.iris },
|
|
||||||
PreProc = { fg = p.iris },
|
|
||||||
Repeat = { fg = p.pine },
|
|
||||||
Special = { fg = p.rose },
|
|
||||||
SpecialChar = { fg = p.rose },
|
|
||||||
SpecialComment = { fg = p.iris },
|
|
||||||
Statement = { fg = p.pine },
|
|
||||||
StorageClass = { fg = p.foam },
|
|
||||||
String = { fg = p.gold },
|
|
||||||
Structure = { fg = p.foam },
|
|
||||||
Tag = { fg = p.rose },
|
|
||||||
Title = { fg = p.text },
|
|
||||||
Todo = { fg = p.iris },
|
|
||||||
Type = { fg = p.foam },
|
|
||||||
Typedef = { fg = p.foam },
|
|
||||||
Underlined = { fg = p.foam, style = 'underline' },
|
|
||||||
|
|
||||||
-- html
|
|
||||||
htmlArg = { fg = p.iris },
|
|
||||||
htmlEndTag = { fg = p.subtle },
|
|
||||||
htmlLink = { fg = p.text },
|
|
||||||
htmlTag = { fg = p.subtle },
|
|
||||||
htmlTagN = { fg = p.love },
|
|
||||||
htmlTagName = { fg = p.foam },
|
|
||||||
}
|
|
||||||
|
|
||||||
return syntax
|
|
||||||
end
|
end
|
||||||
|
|
||||||
theme.loadEditor = function()
|
theme.base = {
|
||||||
local editor = {
|
ColorColumn = { bg = p.highlight_overlay },
|
||||||
ColorColumn = { bg = p.highlight_overlay },
|
-- Conceal = {},
|
||||||
-- Conceal = {},
|
-- Cursor = {},
|
||||||
-- Cursor = {},
|
CursorColumn = { bg = p.highlight },
|
||||||
CursorColumn = { bg = p.highlight },
|
-- CursorIM = {},
|
||||||
-- CursorIM = {},
|
CursorLine = { bg = p.highlight_inactive },
|
||||||
CursorLine = { bg = p.highlight_inactive },
|
CursorLineNr = { fg = p.text },
|
||||||
CursorLineNr = { fg = p.text },
|
DarkenedPanel = { bg = p.surface },
|
||||||
DarkenedPanel = { bg = p.surface },
|
DarkenedStatusline = { bg = p.surface },
|
||||||
DarkenedStatusline = { bg = p.surface },
|
DiffAdd = { fg = p.foam },
|
||||||
DiffAdd = { fg = p.foam },
|
DiffChange = { fg = p.rose },
|
||||||
DiffChange = { fg = p.rose },
|
DiffDelete = { fg = p.love },
|
||||||
DiffDelete = { fg = p.love },
|
DiffText = { fg = p.text },
|
||||||
DiffText = { fg = p.text },
|
Directory = { fg = p.foam, bg = p.none },
|
||||||
Directory = { fg = p.foam, bg = p.none },
|
-- EndOfBuffer = {},
|
||||||
-- EndOfBuffer = {},
|
ErrorMsg = { fg = p.love, style = 'bold' },
|
||||||
ErrorMsg = { fg = p.love, style = 'bold' },
|
FloatBorder = { fg = p.highlight, bg = p.surface },
|
||||||
FloatBorder = { fg = p.highlight, bg = p.surface },
|
FoldColumn = {},
|
||||||
FoldColumn = {},
|
Folded = { fg = p.text, bg = p.surface },
|
||||||
Folded = { fg = p.text, bg = p.surface },
|
IncSearch = { bg = p.highlight },
|
||||||
IncSearch = { bg = p.highlight },
|
LineNr = { fg = p.inactive },
|
||||||
LineNr = { fg = p.inactive },
|
MatchParen = { fg = p.text, bg = p.overlay },
|
||||||
MatchParen = { fg = p.text, bg = p.overlay },
|
-- ModeMsg = {},
|
||||||
-- ModeMsg = {},
|
MoreMsg = { fg = p.iris },
|
||||||
MoreMsg = { fg = p.iris },
|
NonText = { fg = p.inactive },
|
||||||
NonText = { fg = p.inactive },
|
Normal = { fg = p.text, bg = maybe_base },
|
||||||
Normal = { fg = p.text },
|
-- NormalFloat = {},
|
||||||
-- NormalFloat = {},
|
Pmenu = { fg = p.subtle, bg = p.surface },
|
||||||
Pmenu = { fg = p.subtle, bg = p.surface },
|
PmenuSbar = { bg = p.overlay },
|
||||||
PmenuSbar = { bg = p.overlay },
|
PmenuSel = { fg = p.text, bg = p.overlay },
|
||||||
PmenuSel = { fg = p.text, bg = p.overlay },
|
PmenuThumb = { bg = p.inactive },
|
||||||
PmenuThumb = { bg = p.inactive },
|
Question = { fg = p.gold },
|
||||||
Question = { fg = p.gold },
|
-- QuickFixLine = {},
|
||||||
-- QuickFixLine = {},
|
Search = { fg = p.iris, bg = p.highlight_overlay },
|
||||||
Search = { fg = p.iris, bg = p.highlight_overlay },
|
SpecialKey = { fg = p.foam },
|
||||||
SpecialKey = { fg = p.foam },
|
SpellBad = { style = 'undercurl', sp = p.love },
|
||||||
SpellBad = { style = 'undercurl', sp = p.love },
|
SpellCap = { style = 'undercurl', sp = p.subtle },
|
||||||
SpellCap = { style = 'undercurl', sp = p.subtle },
|
SpellLocal = { style = 'undercurl', sp = p.subtle },
|
||||||
SpellLocal = { style = 'undercurl', sp = p.subtle },
|
SpellRare = { style = 'undercurl', sp = p.subtle },
|
||||||
SpellRare = { style = 'undercurl', sp = p.subtle },
|
SignColumn = { fg = p.text, bg = maybe_base },
|
||||||
SignColumn = {},
|
StatusLine = { fg = p.text, bg = p.surface },
|
||||||
StatusLine = { fg = p.text, bg = p.surface },
|
StatusLineNC = { fg = p.subtle, bg = p.surface },
|
||||||
StatusLineNC = { fg = p.subtle, bg = p.surface },
|
-- StatusLineTerm = {},
|
||||||
-- StatusLineTerm = {},
|
-- StatusLineTermNC = {},
|
||||||
-- StatusLineTermNC = {},
|
-- TabLine = {},
|
||||||
-- TabLine = {},
|
-- TabLineFill = {},
|
||||||
-- TabLineFill = {},
|
-- TabLineSel = {},
|
||||||
-- TabLineSel = {},
|
Title = { fg = p.rose },
|
||||||
Title = { fg = p.rose },
|
VertSplit = { fg = p.overlay },
|
||||||
VertSplit = { fg = p.overlay },
|
Visual = { bg = p.highlight },
|
||||||
Visual = { bg = p.highlight },
|
-- VisualNOS = {},
|
||||||
-- VisualNOS = {},
|
WarningMsg = { fg = p.gold },
|
||||||
WarningMsg = { fg = p.gold },
|
-- Whitespace = {},
|
||||||
-- Whitespace = {},
|
-- WildMenu = {},
|
||||||
-- WildMenu = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
if vim.g.rose_pine_disable_background == true then
|
Boolean = { fg = p.gold },
|
||||||
editor.Normal = { fg = p.text, bg = p.none }
|
Character = { fg = p.gold },
|
||||||
editor.SignColumn = { fg = p.text, bg = p.none }
|
Comment = {
|
||||||
else
|
fg = p.subtle,
|
||||||
editor.Normal = { fg = p.text, bg = p.base }
|
style = vim.g.rose_pine_enable_italics and 'italic',
|
||||||
editor.SignColumn = { fg = p.text, bg = p.base }
|
},
|
||||||
end
|
Conditional = { fg = p.pine },
|
||||||
|
Constant = { fg = p.gold },
|
||||||
|
Debug = { fg = p.rose },
|
||||||
|
Define = { fg = p.iris },
|
||||||
|
Delimiter = { fg = p.rose },
|
||||||
|
Error = { fg = p.love },
|
||||||
|
Exception = { fg = p.pine },
|
||||||
|
Float = { fg = p.gold },
|
||||||
|
Function = { fg = p.rose },
|
||||||
|
Identifier = { fg = p.rose },
|
||||||
|
-- Ignore = { fg = '' },
|
||||||
|
Include = { fg = p.iris },
|
||||||
|
Keyword = { fg = p.pine },
|
||||||
|
Label = { fg = p.foam },
|
||||||
|
Macro = { fg = p.iris },
|
||||||
|
Number = { fg = p.gold },
|
||||||
|
Operator = { fg = p.subtle },
|
||||||
|
PreCondit = { fg = p.iris },
|
||||||
|
PreProc = { fg = p.iris },
|
||||||
|
Repeat = { fg = p.pine },
|
||||||
|
Special = { fg = p.rose },
|
||||||
|
SpecialChar = { fg = p.rose },
|
||||||
|
SpecialComment = { fg = p.iris },
|
||||||
|
Statement = { fg = p.pine },
|
||||||
|
StorageClass = { fg = p.foam },
|
||||||
|
String = { fg = p.gold },
|
||||||
|
Structure = { fg = p.foam },
|
||||||
|
Tag = { fg = p.rose },
|
||||||
|
Todo = { fg = p.iris },
|
||||||
|
Type = { fg = p.foam },
|
||||||
|
Typedef = { fg = p.foam },
|
||||||
|
Underlined = { fg = p.foam, style = 'underline' },
|
||||||
|
|
||||||
return editor
|
htmlArg = { fg = p.iris },
|
||||||
end
|
htmlEndTag = { fg = p.subtle },
|
||||||
|
htmlLink = { fg = p.text },
|
||||||
|
htmlTag = { fg = p.subtle },
|
||||||
|
htmlTagN = { fg = p.love },
|
||||||
|
htmlTagName = { fg = p.foam },
|
||||||
|
|
||||||
theme.loadTerminal = function()
|
LspDiagnosticsDefaultHint = { fg = p.iris },
|
||||||
|
LspDiagnosticsDefaultInformation = { fg = p.foam },
|
||||||
|
LspDiagnosticsDefaultWarning = { fg = p.gold },
|
||||||
|
LspDiagnosticsDefaultError = { fg = p.love },
|
||||||
|
|
||||||
|
LspDiagnosticsFloatingHint = { fg = p.iris },
|
||||||
|
LspDiagnosticsFloatingInformation = { fg = p.foam },
|
||||||
|
LspDiagnosticsFloatingWarning = { fg = p.gold },
|
||||||
|
LspDiagnosticsFloatingError = { fg = p.love },
|
||||||
|
|
||||||
|
LspDiagnosticsSignHint = { fg = p.iris },
|
||||||
|
LspDiagnosticsSignInformation = { fg = p.foam },
|
||||||
|
LspDiagnosticsSignWarning = { fg = p.gold },
|
||||||
|
LspDiagnosticsSignError = { fg = p.love },
|
||||||
|
|
||||||
|
LspDiagnosticsUnderlineHint = { style = 'undercurl', sp = p.iris },
|
||||||
|
LspDiagnosticsUnderlineInformation = { style = 'undercurl', sp = p.foam },
|
||||||
|
LspDiagnosticsUnderlineWarning = { style = 'undercurl', sp = p.gold },
|
||||||
|
LspDiagnosticsUnderlineError = { style = 'undercurl', sp = p.love },
|
||||||
|
|
||||||
|
LspDiagnosticsVirtualTextHint = { fg = p.iris },
|
||||||
|
LspDiagnosticsVirtualTextInformation = { fg = p.foam },
|
||||||
|
LspDiagnosticsVirtualTextWarning = { fg = p.gold },
|
||||||
|
LspDiagnosticsVirtualTextError = { fg = p.love },
|
||||||
|
|
||||||
|
LspReferenceText = { fg = p.rose, bg = p.highlight },
|
||||||
|
LspReferenceRead = { fg = p.rose, bg = p.highlight },
|
||||||
|
LspReferenceWrite = { fg = p.rose, bg = p.highlight },
|
||||||
|
}
|
||||||
|
|
||||||
|
function theme.load_terminal()
|
||||||
-- black
|
-- black
|
||||||
vim.g.terminal_color_0 = p.overlay
|
vim.g.terminal_color_0 = p.overlay
|
||||||
vim.g.terminal_color_8 = p.subtle
|
vim.g.terminal_color_8 = p.subtle
|
||||||
|
|
@ -152,204 +166,167 @@ theme.loadTerminal = function()
|
||||||
vim.g.terminal_color_15 = p.text
|
vim.g.terminal_color_15 = p.text
|
||||||
end
|
end
|
||||||
|
|
||||||
theme.loadTreesitter = function()
|
theme.treesitter = {
|
||||||
local treesitter = {
|
-- TSAnnotation = {},
|
||||||
-- TSAnnotation = {},
|
-- TSAttribute = {},
|
||||||
-- TSAttribute = {},
|
TSBoolean = { fg = p.rose },
|
||||||
TSBoolean = { fg = p.rose },
|
-- TSCharacter = {},
|
||||||
-- TSCharacter = {},
|
TSComment = {
|
||||||
TSComment = {
|
fg = p.subtle,
|
||||||
fg = p.subtle,
|
style = vim.g.rose_pine_enable_italics and 'italic',
|
||||||
style = vim.g.rose_pine_enable_italics and 'italic',
|
},
|
||||||
},
|
-- TSConditional = {},
|
||||||
-- TSConditional = {},
|
TSConstBuiltin = { fg = p.love },
|
||||||
TSConstBuiltin = { fg = p.love },
|
-- TSConstMacro = {},
|
||||||
-- TSConstMacro = {},
|
TSConstant = { fg = p.foam },
|
||||||
TSConstant = { fg = p.foam },
|
TSConstructor = { fg = p.foam },
|
||||||
TSConstructor = { fg = p.foam },
|
-- TSEmphasis = {},
|
||||||
-- TSEmphasis = {},
|
-- TSError = {},
|
||||||
-- TSError = {},
|
-- TSException = {},
|
||||||
-- TSException = {},
|
TSField = { fg = p.foam },
|
||||||
TSField = { fg = p.foam },
|
-- TSFloat = {},
|
||||||
-- TSFloat = {},
|
TSFuncBuiltin = { fg = p.love },
|
||||||
TSFuncBuiltin = { fg = p.love },
|
-- TSFuncMacro = {},
|
||||||
-- TSFuncMacro = {},
|
TSFunction = { fg = p.rose },
|
||||||
TSFunction = { fg = p.rose },
|
TSInclude = { fg = p.pine },
|
||||||
TSInclude = { fg = p.pine },
|
TSKeyword = { fg = p.pine },
|
||||||
TSKeyword = { fg = p.pine },
|
-- TSKeywordFunction = {},
|
||||||
-- TSKeywordFunction = {},
|
TSKeywordOperator = { fg = p.pine },
|
||||||
TSKeywordOperator = { fg = p.pine },
|
TSLabel = { fg = p.foam },
|
||||||
TSLabel = { fg = p.foam },
|
-- TSLiteral = {},
|
||||||
-- TSLiteral = {},
|
-- TSMethod = {},
|
||||||
-- TSMethod = {},
|
-- TSNamespace = {},
|
||||||
-- TSNamespace = {},
|
-- TSNone = {},
|
||||||
-- TSNone = {},
|
-- TSNumber = {},
|
||||||
-- TSNumber = {},
|
TSOperator = { fg = p.pine },
|
||||||
TSOperator = { fg = p.pine },
|
TSParameter = {
|
||||||
TSParameter = {
|
fg = p.iris,
|
||||||
fg = p.iris,
|
style = vim.g.rose_pine_enable_italics and 'italic',
|
||||||
style = vim.g.rose_pine_enable_italics and 'italic',
|
},
|
||||||
},
|
-- TSParameterReference = {},
|
||||||
-- TSParameterReference = {},
|
TSProperty = {
|
||||||
TSProperty = {
|
fg = p.iris,
|
||||||
fg = p.iris,
|
style = vim.g.rose_pine_enable_italics and 'italic',
|
||||||
style = vim.g.rose_pine_enable_italics and 'italic',
|
},
|
||||||
},
|
TSPunctBracket = { fg = p.subtle },
|
||||||
TSPunctBracket = { fg = p.subtle },
|
TSPunctDelimiter = { fg = p.subtle },
|
||||||
TSPunctDelimiter = { fg = p.subtle },
|
TSPunctSpecial = { fg = p.subtle },
|
||||||
TSPunctSpecial = { fg = p.subtle },
|
-- TSRepeat = {},
|
||||||
-- TSRepeat = {},
|
-- TSStrike = {},
|
||||||
-- TSStrike = {},
|
TSString = { fg = p.gold },
|
||||||
TSString = { fg = p.gold },
|
TSStringEscape = { fg = p.pine },
|
||||||
TSStringEscape = { fg = p.pine },
|
-- TSStringRegex = {},
|
||||||
-- TSStringRegex = {},
|
-- TSSymbol = {},
|
||||||
-- TSSymbol = {},
|
TSTag = { fg = p.foam },
|
||||||
TSTag = { fg = p.foam },
|
TSTagDelimiter = { fg = p.subtle },
|
||||||
TSTagDelimiter = { fg = p.subtle },
|
TSText = { fg = p.text },
|
||||||
TSText = { fg = p.text },
|
-- TSTitle = {},
|
||||||
-- TSTitle = {},
|
-- TSType = {},
|
||||||
-- TSType = {},
|
-- TSTypeBuiltin = {},
|
||||||
-- TSTypeBuiltin = {},
|
TSURI = { fg = p.gold },
|
||||||
TSURI = { fg = p.gold },
|
-- TSUnderline = {},
|
||||||
-- TSUnderline = {},
|
TSVariable = {
|
||||||
TSVariable = {
|
fg = p.text,
|
||||||
fg = p.text,
|
style = vim.g.rose_pine_enable_italics and 'italic',
|
||||||
style = vim.g.rose_pine_enable_italics and 'italic',
|
},
|
||||||
},
|
TSVariableBuiltin = { fg = p.love },
|
||||||
TSVariableBuiltin = { fg = p.love },
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return treesitter
|
theme.plugins = {
|
||||||
end
|
-- barbar.nvim
|
||||||
|
-- https://github.com/romgrk/barbar.nvim
|
||||||
|
BufferTabpageFill = { bg = p.none },
|
||||||
|
BufferCurrent = { fg = p.text, bg = p.overlay },
|
||||||
|
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
|
||||||
|
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
|
||||||
|
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
|
||||||
|
BufferInactive = { fg = p.subtle },
|
||||||
|
BufferInactiveIndex = { fg = p.subtle },
|
||||||
|
BufferInactiveMod = { fg = p.foam },
|
||||||
|
BufferInactiveSign = { fg = p.subtle },
|
||||||
|
BufferVisible = { fg = p.subtle },
|
||||||
|
BufferVisibleIndex = { fg = p.subtle },
|
||||||
|
BufferVisibleMod = { fg = p.foam },
|
||||||
|
BufferVisibleSign = { fg = p.subtle },
|
||||||
|
|
||||||
theme.loadLsp = function()
|
-- gitsigns.nvim
|
||||||
local lsp = {
|
-- https://github.com/lewis6991/gitsigns.nvim
|
||||||
LspDiagnosticsDefaultError = { fg = p.love },
|
SignAdd = { fg = p.foam },
|
||||||
LspDiagnosticsDefaultHint = { fg = p.iris },
|
SignChange = { fg = p.rose },
|
||||||
LspDiagnosticsDefaultInformation = { fg = p.foam },
|
SignDelete = { fg = p.love },
|
||||||
LspDiagnosticsDefaultWarning = { fg = p.gold },
|
GitSignsAdd = { fg = p.foam },
|
||||||
LspDiagnosticsFloatingError = { fg = p.love },
|
GitSignsChange = { fg = p.rose },
|
||||||
LspDiagnosticsFloatingHint = { fg = p.iris },
|
GitSignsDelete = { fg = p.love },
|
||||||
LspDiagnosticsFloatingInformation = { fg = p.foam },
|
|
||||||
LspDiagnosticsFloatingWarning = { fg = p.gold },
|
|
||||||
LspDiagnosticsSignError = { fg = p.love },
|
|
||||||
LspDiagnosticsSignHint = { fg = p.iris },
|
|
||||||
LspDiagnosticsSignInformation = { fg = p.foam },
|
|
||||||
LspDiagnosticsSignWarning = { fg = p.gold },
|
|
||||||
LspDiagnosticsUnderlineError = { style = 'undercurl', sp = p.love },
|
|
||||||
LspDiagnosticsUnderlineHint = { style = 'undercurl', sp = p.iris },
|
|
||||||
LspDiagnosticsUnderlineInformation = { style = 'undercurl', sp = p.foam },
|
|
||||||
LspDiagnosticsUnderlineWarning = { style = 'undercurl', sp = p.gold },
|
|
||||||
LspDiagnosticsVirtualTextError = { fg = p.love },
|
|
||||||
LspDiagnosticsVirtualTextHint = { fg = p.iris },
|
|
||||||
LspDiagnosticsVirtualTextInformation = { fg = p.foam },
|
|
||||||
LspDiagnosticsVirtualTextWarning = { fg = p.gold },
|
|
||||||
LspReferenceRead = { fg = p.rose, bg = p.highlight },
|
|
||||||
LspReferenceText = { fg = p.rose, bg = p.highlight },
|
|
||||||
LspReferenceWrite = { fg = p.rose, bg = p.highlight },
|
|
||||||
}
|
|
||||||
|
|
||||||
return lsp
|
-- modes.nvim
|
||||||
end
|
-- https://github.com/mvllow/modes.nvim
|
||||||
|
ModesCopy = { bg = p.gold },
|
||||||
|
ModesDelete = { bg = p.love },
|
||||||
|
ModesInsert = { bg = p.foam },
|
||||||
|
ModesVisual = { bg = p.iris },
|
||||||
|
|
||||||
theme.loadPlugins = function()
|
-- nvim-tree.lua
|
||||||
local plugins = {
|
-- https://github.com/kyazdani42/nvim-tree.lua
|
||||||
-- barbar.nvim
|
NvimTreeNormal = { fg = p.text },
|
||||||
-- https://github.com/romgrk/barbar.nvim
|
|
||||||
BufferTabpageFill = { bg = p.none },
|
|
||||||
BufferCurrent = { fg = p.text, bg = p.overlay },
|
|
||||||
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
|
|
||||||
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
|
|
||||||
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
|
|
||||||
BufferInactive = { fg = p.subtle },
|
|
||||||
BufferInactiveIndex = { fg = p.subtle },
|
|
||||||
BufferInactiveMod = { fg = p.foam },
|
|
||||||
BufferInactiveSign = { fg = p.subtle },
|
|
||||||
BufferVisible = { fg = p.subtle },
|
|
||||||
BufferVisibleIndex = { fg = p.subtle },
|
|
||||||
BufferVisibleMod = { fg = p.foam },
|
|
||||||
BufferVisibleSign = { fg = p.subtle },
|
|
||||||
|
|
||||||
-- gitsigns.nvim
|
NvimTreeFileDeleted = { fg = p.love },
|
||||||
-- https://github.com/lewis6991/gitsigns.nvim
|
NvimTreeFileDirty = { fg = p.rose },
|
||||||
SignAdd = { fg = p.foam },
|
NvimTreeFileMerge = { fg = p.iris },
|
||||||
SignChange = { fg = p.rose },
|
NvimTreeFileNew = { fg = p.foam },
|
||||||
SignDelete = { fg = p.love },
|
NvimTreeFileRenamed = { fg = p.pine },
|
||||||
GitSignsAdd = { fg = p.foam },
|
NvimTreeFileStaged = { fg = p.iris },
|
||||||
GitSignsChange = { fg = p.rose },
|
|
||||||
GitSignsDelete = { fg = p.love },
|
|
||||||
|
|
||||||
-- modes.nvim
|
NvimTreeEmptyFolderName = { fg = p.inactive },
|
||||||
-- https://github.com/mvllow/modes.nvim
|
NvimTreeFolderIcon = { fg = p.subtle },
|
||||||
ModesCopy = { bg = p.gold },
|
NvimTreeFolderName = { fg = p.foam },
|
||||||
ModesDelete = { bg = p.love },
|
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight },
|
||||||
ModesInsert = { bg = p.foam },
|
NvimTreeOpenedFolderName = { fg = p.foam },
|
||||||
ModesVisual = { bg = p.iris },
|
NvimTreeRootFolder = { fg = p.iris },
|
||||||
|
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
|
||||||
|
|
||||||
-- nvim-tree.lua
|
NvimTreeGitDeleted = { fg = p.love },
|
||||||
-- https://github.com/kyazdani42/nvim-tree.lua
|
NvimTreeGitDirty = { fg = p.rose },
|
||||||
NvimTreeNormal = { fg = p.text },
|
NvimTreeGitIgnored = { fg = p.subtle },
|
||||||
|
NvimTreeGitMerge = { fg = p.iris },
|
||||||
|
NvimTreeGitNew = { fg = p.foam },
|
||||||
|
NvimTreeGitRenamed = { fg = p.pine },
|
||||||
|
NvimTreeGitStaged = { fg = p.iris },
|
||||||
|
|
||||||
NvimTreeFileDeleted = { fg = p.love },
|
|
||||||
NvimTreeFileDirty = { fg = p.rose },
|
|
||||||
NvimTreeFileMerge = { fg = p.iris },
|
|
||||||
NvimTreeFileNew = { fg = p.foam },
|
|
||||||
NvimTreeFileRenamed = { fg = p.pine },
|
|
||||||
NvimTreeFileStaged = { fg = p.iris },
|
|
||||||
|
|
||||||
NvimTreeEmptyFolderName = { fg = p.inactive },
|
-- todo-comments.nvim
|
||||||
NvimTreeFolderIcon = { fg = p.subtle },
|
-- https://github.com/folke/todo-comments.nvim
|
||||||
NvimTreeFolderName = { fg = p.foam },
|
TodoBgFIX = { fg = '#000000', bg = p.love },
|
||||||
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight },
|
TodoFgFIX = { fg = p.love, bg = p.base },
|
||||||
NvimTreeOpenedFolderName = { fg = p.foam },
|
TodoSignFIX = { fg = p.love, bg = p.base },
|
||||||
NvimTreeRootFolder = { fg = p.iris },
|
|
||||||
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
|
|
||||||
|
|
||||||
NvimTreeGitDeleted = { fg = p.love },
|
TodoBgTODO = { fg = '#000000', bg = p.rose },
|
||||||
NvimTreeGitDirty = { fg = p.rose },
|
TodoFgTODO = { fg = p.rose, bg = p.base },
|
||||||
NvimTreeGitIgnored = { fg = p.subtle },
|
TodoSignTODO = { fg = p.rose, bg = p.base },
|
||||||
NvimTreeGitMerge = { fg = p.iris },
|
|
||||||
NvimTreeGitNew = { fg = p.foam },
|
|
||||||
NvimTreeGitRenamed = { fg = p.pine },
|
|
||||||
NvimTreeGitStaged = { fg = p.iris },
|
|
||||||
|
|
||||||
-- which-key.nvim
|
TodoBgHACK = { fg = '#ffffff', bg = p.pine },
|
||||||
-- https://github.com/folke/which-key.nvim
|
TodoFgHACK = { fg = p.pine, bg = p.base },
|
||||||
WhichKey = { fg = p.iris },
|
TodoSignHACK = { fg = p.pine, bg = p.base },
|
||||||
WhichKeyGroup = { fg = p.foam },
|
|
||||||
WhichKeySeparator = { fg = p.subtle },
|
|
||||||
WhichKeyDesc = { fg = p.gold },
|
|
||||||
WhichKeyFloat = { bg = p.surface },
|
|
||||||
WhichKeyValue = { fg = p.rose },
|
|
||||||
|
|
||||||
-- todo-comments.nvim
|
TodoBgWARN = { fg = '#000000', bg = p.gold },
|
||||||
-- https://github.com/folke/todo-comments.nvim
|
TodoFgWARN = { fg = p.gold, bg = p.base },
|
||||||
TodoBgFIX = { fg = '#000000', bg = p.love },
|
TodoSignWARN = { fg = p.gold, bg = p.base },
|
||||||
TodoFgFIX = { fg = p.love, bg = p.base },
|
|
||||||
TodoSignFIX = { fg = p.love, bg = p.base },
|
|
||||||
|
|
||||||
TodoBgTODO = { fg = '#000000', bg = p.rose },
|
TodoBgPERF = { fg = '#000000', bg = p.foam },
|
||||||
TodoFgTODO = { fg = p.rose, bg = p.base },
|
TodoFgPERF = { fg = p.foam, bg = p.base },
|
||||||
TodoSignTODO = { fg = p.rose, bg = p.base },
|
TodoSignPERF = { fg = p.foam, bg = p.base },
|
||||||
|
|
||||||
TodoBgHACK = { fg = '#ffffff', bg = p.pine },
|
TodoBgNOTE = { fg = '#000000', bg = p.iris },
|
||||||
TodoFgHACK = { fg = p.pine, bg = p.base },
|
TodoFgNOTE = { fg = p.iris, bg = p.base },
|
||||||
TodoSignHACK = { fg = p.pine, bg = p.base },
|
TodoSignNOTE = { fg = p.iris, bg = p.base },
|
||||||
|
|
||||||
TodoBgWARN = { fg = '#000000', bg = p.gold },
|
-- which-key.nvim
|
||||||
TodoFgWARN = { fg = p.gold, bg = p.base },
|
-- https://github.com/folke/which-key.nvim
|
||||||
TodoSignWARN = { fg = p.gold, bg = p.base },
|
WhichKey = { fg = p.iris },
|
||||||
|
WhichKeyGroup = { fg = p.foam },
|
||||||
TodoBgPERF = { fg = '#000000', bg = p.foam },
|
WhichKeySeparator = { fg = p.subtle },
|
||||||
TodoFgPERF = { fg = p.foam, bg = p.base },
|
WhichKeyDesc = { fg = p.gold },
|
||||||
TodoSignPERF = { fg = p.foam, bg = p.base },
|
WhichKeyFloat = { bg = p.surface },
|
||||||
|
WhichKeyValue = { fg = p.rose },
|
||||||
TodoBgNOTE = { fg = '#000000', bg = p.iris },
|
}
|
||||||
TodoFgNOTE = { fg = p.iris, bg = p.base },
|
|
||||||
TodoSignNOTE = { fg = p.iris, bg = p.base },
|
|
||||||
}
|
|
||||||
|
|
||||||
return plugins
|
|
||||||
end
|
|
||||||
|
|
||||||
return theme
|
return theme
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
local util = {}
|
local util = {}
|
||||||
local theme = require('rose-pine.theme')
|
|
||||||
|
|
||||||
util.highlight = function(group, color)
|
util.highlight = function(group, color)
|
||||||
local style = color.style and 'gui=' .. color.style or 'gui=NONE'
|
local style = color.style and 'gui=' .. color.style or 'gui=NONE'
|
||||||
|
|
@ -25,11 +24,13 @@ util.highlight = function(group, color)
|
||||||
end
|
end
|
||||||
|
|
||||||
function util.load()
|
function util.load()
|
||||||
vim.cmd('hi clear')
|
if vim.g.colors_name then
|
||||||
if vim.fn.exists('syntax_on') then
|
vim.cmd('hi clear')
|
||||||
vim.cmd('syntax reset')
|
|
||||||
end
|
end
|
||||||
if
|
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
vim.g.colors_name = 'rose-pine'
|
||||||
|
|
||||||
vim.g.rose_pine_variant == 'dawn'
|
vim.g.rose_pine_variant == 'dawn'
|
||||||
or vim.g.rose_pine_variant == 'rose-pine-dawn'
|
or vim.g.rose_pine_variant == 'rose-pine-dawn'
|
||||||
then
|
then
|
||||||
|
|
@ -37,25 +38,18 @@ function util.load()
|
||||||
else
|
else
|
||||||
vim.opt.background = 'dark'
|
vim.opt.background = 'dark'
|
||||||
end
|
end
|
||||||
vim.o.termguicolors = true
|
|
||||||
vim.g.colors_name = 'rose-pine'
|
local theme = require('rose-pine.theme')
|
||||||
|
|
||||||
local async
|
local async
|
||||||
async = vim.loop.new_async(vim.schedule_wrap(function()
|
async = vim.loop.new_async(vim.schedule_wrap(function()
|
||||||
theme.loadTerminal()
|
theme.load_terminal()
|
||||||
local plugins = theme.loadPlugins()
|
|
||||||
local treesitter = theme.loadTreesitter()
|
|
||||||
local lsp = theme.loadLsp()
|
|
||||||
|
|
||||||
for group, colors in pairs(plugins) do
|
for group, colors in pairs(theme.treesitter) do
|
||||||
util.highlight(group, colors)
|
util.highlight(group, colors)
|
||||||
end
|
end
|
||||||
|
|
||||||
for group, colors in pairs(treesitter) do
|
for group, colors in pairs(theme.plugins) do
|
||||||
util.highlight(group, colors)
|
|
||||||
end
|
|
||||||
|
|
||||||
for group, colors in pairs(lsp) do
|
|
||||||
util.highlight(group, colors)
|
util.highlight(group, colors)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -63,18 +57,11 @@ function util.load()
|
||||||
end))
|
end))
|
||||||
|
|
||||||
-- load priority groups first
|
-- load priority groups first
|
||||||
local editor = theme.loadEditor()
|
for group, colors in pairs(theme.base) do
|
||||||
local syntax = theme.loadSyntax()
|
|
||||||
|
|
||||||
for group, colors in pairs(editor) do
|
|
||||||
util.highlight(group, colors)
|
util.highlight(group, colors)
|
||||||
end
|
end
|
||||||
|
|
||||||
for group, colors in pairs(syntax) do
|
-- load enhancements (eg. treesitter, plugins)
|
||||||
util.highlight(group, colors)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- load enhancements (eg. lsp, treesitter, plugins)
|
|
||||||
async:send()
|
async:send()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue