neovim-rose-pine/lua/rose-pine/theme.lua

354 lines
10 KiB
Lua
Raw Normal View History

2021-05-18 11:15:39 -05:00
local p = require('rose-pine.palette')
local theme = {}
theme.loadSyntax = function()
local syntax = {
Boolean = { fg = p.gold },
Character = { fg = p.gold },
Comment = {
fg = p.subtle,
style = vim.g.rose_pine_enable_italics and 'italic',
},
2021-05-18 11:15:39 -05:00
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 },
2021-05-27 18:40:14 -05:00
Label = { fg = p.foam },
2021-05-18 11:15:39 -05:00
Macro = { fg = p.iris },
Number = { fg = p.gold },
2021-05-27 18:40:14 -05:00
Operator = { fg = p.subtle },
2021-05-18 11:15:39 -05:00
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 },
2021-05-23 20:01:21 -05:00
Title = { fg = p.text },
2021-05-18 11:15:39 -05:00
Todo = { fg = p.iris },
Type = { fg = p.foam },
Typedef = { fg = p.foam },
Underlined = { fg = p.foam, style = 'underline' },
2021-08-08 13:35:04 -05:00
-- 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 },
2021-05-18 11:15:39 -05:00
}
return syntax
end
theme.loadEditor = function()
local editor = {
2021-08-14 12:30:11 -05:00
ColorColumn = { bg = p.highlight_overlay },
2021-05-18 11:15:39 -05:00
-- Conceal = {},
-- Cursor = {},
2021-08-15 18:26:29 -05:00
CursorColumn = { bg = p.highlight },
2021-05-18 11:15:39 -05:00
-- CursorIM = {},
CursorLine = { bg = p.highlight_inactive },
CursorLineNr = { fg = p.text },
2021-07-15 14:57:37 -05:00
DarkenedPanel = { bg = p.surface },
2021-07-16 13:19:12 -05:00
DarkenedStatusline = { bg = p.surface },
2021-07-08 11:40:27 -05:00
DiffAdd = { fg = p.foam },
DiffChange = { fg = p.rose },
DiffDelete = { fg = p.love },
DiffText = { fg = p.text },
Directory = { fg = p.foam, bg = p.none },
2021-05-18 11:15:39 -05:00
-- EndOfBuffer = {},
ErrorMsg = { fg = p.love, style = 'bold' },
2021-07-26 11:15:38 -05:00
FloatBorder = { fg = p.highlight, bg = p.surface },
2021-08-15 18:27:10 -05:00
FoldColumn = {},
2021-07-12 22:14:52 -05:00
Folded = { fg = p.text, bg = p.surface },
2021-05-18 11:15:39 -05:00
IncSearch = { bg = p.highlight },
LineNr = { fg = p.inactive },
MatchParen = { fg = p.text, bg = p.overlay },
-- ModeMsg = {},
MoreMsg = { fg = p.iris },
NonText = { fg = p.inactive },
Normal = { fg = p.text },
-- NormalFloat = {},
Pmenu = { fg = p.subtle, bg = p.surface },
PmenuSbar = { bg = p.overlay },
PmenuSel = { fg = p.text, bg = p.overlay },
PmenuThumb = { bg = p.inactive },
Question = { fg = p.gold },
-- QuickFixLine = {},
Search = { fg = p.iris, bg = p.highlight_overlay },
SpecialKey = { fg = p.foam },
2021-07-18 15:34:10 -05:00
SpellBad = { style = 'undercurl', sp = p.love },
2021-07-18 15:37:21 -05:00
SpellCap = { style = 'undercurl', sp = p.subtle },
SpellLocal = { style = 'undercurl', sp = p.subtle },
SpellRare = { style = 'undercurl', sp = p.subtle },
2021-05-18 11:15:39 -05:00
SignColumn = {},
2021-05-26 10:17:30 -05:00
StatusLine = { fg = p.text, bg = p.surface },
StatusLineNC = { fg = p.subtle, bg = p.surface },
2021-05-18 11:15:39 -05:00
-- StatusLineTerm = {},
-- StatusLineTermNC = {},
-- TabLine = {},
-- TabLineFill = {},
-- TabLineSel = {},
Title = { fg = p.rose },
VertSplit = { fg = p.overlay },
Visual = { bg = p.highlight },
-- VisualNOS = {},
WarningMsg = { fg = p.gold },
-- Whitespace = {},
-- WildMenu = {},
}
if vim.g.rose_pine_disable_background == true then
editor.Normal = { fg = p.text, bg = p.none }
editor.SignColumn = { fg = p.text, bg = p.none }
else
editor.Normal = { fg = p.text, bg = p.base }
editor.SignColumn = { fg = p.text, bg = p.base }
end
return editor
end
theme.loadTerminal = function()
-- black
vim.g.terminal_color_0 = p.overlay
vim.g.terminal_color_8 = p.subtle
-- red
2021-07-15 14:41:24 -05:00
vim.g.terminal_color_1 = p.love
vim.g.terminal_color_9 = p.love
2021-05-18 11:15:39 -05:00
-- green
vim.g.terminal_color_2 = p.pine
vim.g.terminal_color_10 = p.pine
-- yellow
2021-07-15 14:41:24 -05:00
vim.g.terminal_color_3 = p.gold
vim.g.terminal_color_11 = p.gold
2021-05-18 11:15:39 -05:00
-- blue
2021-07-15 14:41:24 -05:00
vim.g.terminal_color_4 = p.foam
vim.g.terminal_color_12 = p.foam
2021-05-18 11:15:39 -05:00
-- magenta
vim.g.terminal_color_5 = p.iris
vim.g.terminal_color_13 = p.iris
-- cyan
2021-07-15 14:41:24 -05:00
vim.g.terminal_color_6 = p.rose
vim.g.terminal_color_14 = p.rose
2021-05-18 11:15:39 -05:00
-- white
vim.g.terminal_color_7 = p.text
vim.g.terminal_color_15 = p.text
end
theme.loadTreesitter = function()
local treesitter = {
-- TSAnnotation = {},
-- TSAttribute = {},
2021-05-27 18:40:14 -05:00
TSBoolean = { fg = p.rose },
2021-05-18 11:15:39 -05:00
-- TSCharacter = {},
2021-07-12 22:57:42 -05:00
TSComment = {
fg = p.subtle,
style = vim.g.rose_pine_enable_italics and 'italic',
},
2021-05-18 11:15:39 -05:00
-- TSConditional = {},
TSConstBuiltin = { fg = p.love },
-- TSConstMacro = {},
2021-05-27 18:40:14 -05:00
TSConstant = { fg = p.foam },
TSConstructor = { fg = p.foam },
2021-05-18 11:15:39 -05:00
-- TSEmphasis = {},
-- TSError = {},
-- TSException = {},
2021-08-15 15:44:17 -05:00
TSField = { fg = p.foam },
2021-05-18 11:15:39 -05:00
-- TSFloat = {},
TSFuncBuiltin = { fg = p.love },
-- TSFuncMacro = {},
2021-05-27 18:40:14 -05:00
TSFunction = { fg = p.rose },
TSInclude = { fg = p.pine },
TSKeyword = { fg = p.pine },
2021-05-18 11:15:39 -05:00
-- TSKeywordFunction = {},
2021-05-27 18:40:14 -05:00
TSKeywordOperator = { fg = p.pine },
TSLabel = { fg = p.foam },
2021-05-18 11:15:39 -05:00
-- TSLiteral = {},
-- TSMethod = {},
-- TSNamespace = {},
-- TSNone = {},
-- TSNumber = {},
2021-05-27 18:40:14 -05:00
TSOperator = { fg = p.pine },
2021-07-12 22:57:42 -05:00
TSParameter = {
fg = p.iris,
style = vim.g.rose_pine_enable_italics and 'italic',
},
2021-05-18 11:15:39 -05:00
-- TSParameterReference = {},
2021-07-12 22:57:42 -05:00
TSProperty = {
fg = p.iris,
style = vim.g.rose_pine_enable_italics and 'italic',
},
2021-05-18 11:15:39 -05:00
TSPunctBracket = { fg = p.subtle },
TSPunctDelimiter = { fg = p.subtle },
TSPunctSpecial = { fg = p.subtle },
-- TSRepeat = {},
-- TSStrike = {},
2021-08-08 13:35:04 -05:00
TSString = { fg = p.gold },
2021-05-18 11:15:39 -05:00
TSStringEscape = { fg = p.pine },
-- TSStringRegex = {},
-- TSSymbol = {},
TSTag = { fg = p.foam },
TSTagDelimiter = { fg = p.subtle },
2021-08-08 13:35:04 -05:00
TSText = { fg = p.text },
2021-05-18 11:15:39 -05:00
-- TSTitle = {},
-- TSType = {},
-- TSTypeBuiltin = {},
2021-08-08 13:35:04 -05:00
TSURI = { fg = p.gold },
2021-05-18 11:15:39 -05:00
-- TSUnderline = {},
2021-07-12 22:57:42 -05:00
TSVariable = {
fg = p.text,
style = vim.g.rose_pine_enable_italics and 'italic',
},
2021-05-18 11:15:39 -05:00
TSVariableBuiltin = { fg = p.love },
}
return treesitter
end
theme.loadLsp = function()
local lsp = {
LspDiagnosticsDefaultError = { fg = p.love },
LspDiagnosticsDefaultHint = { fg = p.iris },
LspDiagnosticsDefaultInformation = { fg = p.foam },
LspDiagnosticsDefaultWarning = { fg = p.gold },
LspDiagnosticsFloatingError = { fg = p.love },
LspDiagnosticsFloatingHint = { fg = p.iris },
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
end
theme.loadPlugins = function()
local plugins = {
-- barbar.nvim
-- https://github.com/romgrk/barbar.nvim
BufferTabpageFill = { bg = p.none },
BufferCurrent = { fg = p.text, bg = p.overlay },
2021-07-09 22:15:02 -05:00
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
2021-05-18 11:15:39 -05:00
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
BufferInactive = { fg = p.subtle },
2021-07-09 22:15:02 -05:00
BufferInactiveIndex = { fg = p.subtle },
2021-05-18 11:15:39 -05:00
BufferInactiveMod = { fg = p.foam },
BufferInactiveSign = { fg = p.subtle },
BufferVisible = { fg = p.subtle },
2021-07-09 22:15:02 -05:00
BufferVisibleIndex = { fg = p.subtle },
2021-05-18 11:15:39 -05:00
BufferVisibleMod = { fg = p.foam },
BufferVisibleSign = { fg = p.subtle },
2021-07-01 09:42:06 -05:00
-- gitsigns.nvim
-- https://github.com/lewis6991/gitsigns.nvim
2021-07-08 11:40:27 -05:00
SignAdd = { fg = p.foam },
SignChange = { fg = p.rose },
SignDelete = { fg = p.love },
2021-07-01 09:42:06 -05:00
GitSignsAdd = { fg = p.foam },
GitSignsChange = { fg = p.rose },
GitSignsDelete = { fg = p.love },
2021-07-06 11:40:21 -05:00
2021-07-31 19:45:54 -05:00
-- modes.nvim
-- https://github.com/mvllow/modes.nvim
ModesCopy = { bg = p.gold },
ModesDelete = { bg = p.love },
ModesInsert = { bg = p.foam },
ModesVisual = { bg = p.iris },
2021-07-06 11:40:21 -05:00
-- nvim-tree.lua
-- https://github.com/kyazdani42/nvim-tree.lua
2021-07-08 11:40:27 -05:00
NvimTreeNormal = { fg = p.text },
2021-07-06 11:40:21 -05:00
NvimTreeEmptyFolderName = { fg = p.inactive },
NvimTreeFolderIcon = { fg = p.subtle },
2021-07-08 11:40:27 -05:00
NvimTreeFolderName = { fg = p.foam },
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight },
NvimTreeOpenedFolderName = { fg = p.foam },
NvimTreeRootFolder = { fg = p.iris },
2021-08-16 21:16:26 -05:00
NvimTreeSpecialFile = { link = 'NvimTreeNormal' },
2021-07-08 11:40:27 -05:00
NvimTreeGitDeleted = { fg = p.love },
NvimTreeGitDirty = { fg = p.rose },
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 },
2021-07-12 22:58:15 -05:00
-- which-key.nvim
-- https://github.com/folke/which-key.nvim
WhichKey = { fg = p.iris },
WhichKeyGroup = { fg = p.foam },
WhichKeySeparator = { fg = p.subtle },
WhichKeyDesc = { fg = p.gold },
WhichKeyFloat = { bg = p.surface },
WhichKeyValue = { fg = p.rose },
2021-08-08 18:58:52 -05:00
2021-08-08 19:16:45 -05:00
-- todo-comments.nvim
2021-08-08 18:58:52 -05:00
-- https://github.com/folke/todo-comments.nvim
2021-08-08 19:04:00 -05:00
TodoBgFIX = { fg = '#000000', bg = p.love },
2021-08-13 16:29:59 -03:00
TodoFgFIX = { fg = p.love, bg = p.base },
2021-08-08 18:58:52 -05:00
TodoSignFIX = { fg = p.love, bg = p.base },
2021-08-08 19:04:00 -05:00
TodoBgTODO = { fg = '#000000', bg = p.rose },
2021-08-13 16:29:59 -03:00
TodoFgTODO = { fg = p.rose, bg = p.base },
2021-08-08 18:58:52 -05:00
TodoSignTODO = { fg = p.rose, bg = p.base },
2021-08-08 19:04:00 -05:00
TodoBgHACK = { fg = '#ffffff', bg = p.pine },
2021-08-13 16:29:59 -03:00
TodoFgHACK = { fg = p.pine, bg = p.base },
2021-08-08 19:04:00 -05:00
TodoSignHACK = { fg = p.pine, bg = p.base },
2021-08-08 18:58:52 -05:00
2021-08-08 19:04:00 -05:00
TodoBgWARN = { fg = '#000000', bg = p.gold },
2021-08-13 16:29:59 -03:00
TodoFgWARN = { fg = p.gold, bg = p.base },
2021-08-08 18:58:52 -05:00
TodoSignWARN = { fg = p.gold, bg = p.base },
2021-08-08 19:04:00 -05:00
TodoBgPERF = { fg = '#000000', bg = p.foam },
2021-08-13 16:29:59 -03:00
TodoFgPERF = { fg = p.foam, bg = p.base },
2021-08-08 18:58:52 -05:00
TodoSignPERF = { fg = p.foam, bg = p.base },
2021-08-08 19:04:00 -05:00
TodoBgNOTE = { fg = '#000000', bg = p.iris },
2021-08-13 16:29:59 -03:00
TodoFgNOTE = { fg = p.iris, bg = p.base },
2021-08-08 19:04:00 -05:00
TodoSignNOTE = { fg = p.iris, bg = p.base },
2021-05-18 11:15:39 -05:00
}
return plugins
end
return theme