From 770a49c36ea76c09e9dec6caae6af5a1841c8c3b Mon Sep 17 00:00:00 2001 From: mvllow Date: Sat, 14 Aug 2021 12:25:29 -0500 Subject: [PATCH 001/309] add `CursorColumn` (fixes #9) --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 39275ea..aa3becb 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -61,7 +61,7 @@ theme.loadEditor = function() -- ColorColumn = {}, -- Conceal = {}, -- Cursor = {}, - -- CursorColumn = {}, + CursorColumn = { bg = p.highlight_overlay }, -- CursorIM = {}, CursorLine = { bg = p.highlight_inactive }, CursorLineNr = { fg = p.text }, From 458fbadfaa4db4f9ece1892183449c71aadc8085 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sat, 14 Aug 2021 12:27:39 -0500 Subject: [PATCH 002/309] Revert "add `CursorColumn` (fixes #9)" This reverts commit 770a49c36ea76c09e9dec6caae6af5a1841c8c3b. --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index aa3becb..39275ea 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -61,7 +61,7 @@ theme.loadEditor = function() -- ColorColumn = {}, -- Conceal = {}, -- Cursor = {}, - CursorColumn = { bg = p.highlight_overlay }, + -- CursorColumn = {}, -- CursorIM = {}, CursorLine = { bg = p.highlight_inactive }, CursorLineNr = { fg = p.text }, From 19cc3e36e6fd7deb9bf0921ed55f39c23664df66 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sat, 14 Aug 2021 12:28:43 -0500 Subject: [PATCH 003/309] actually fix #9 :) --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 39275ea..5dcdba1 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -58,7 +58,7 @@ end theme.loadEditor = function() local editor = { - -- ColorColumn = {}, + ColorColumn = { bg = p.highlight_inactive }, -- Conceal = {}, -- Cursor = {}, -- CursorColumn = {}, From 14047522a1764a6fa2d474d0e2cbf72adee780bd Mon Sep 17 00:00:00 2001 From: mvllow Date: Sat, 14 Aug 2021 12:30:11 -0500 Subject: [PATCH 004/309] increase `ColorColumn` contrast --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 5dcdba1..1ccffc5 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -58,7 +58,7 @@ end theme.loadEditor = function() local editor = { - ColorColumn = { bg = p.highlight_inactive }, + ColorColumn = { bg = p.highlight_overlay }, -- Conceal = {}, -- Cursor = {}, -- CursorColumn = {}, From 564e48f990d4db5f996e909bc5b04cf775c45078 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 15 Aug 2021 15:44:17 -0500 Subject: [PATCH 005/309] add `TSField` --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 1ccffc5..4809826 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -170,7 +170,7 @@ theme.loadTreesitter = function() -- TSEmphasis = {}, -- TSError = {}, -- TSException = {}, - -- TSField = {}, + TSField = { fg = p.foam }, -- TSFloat = {}, TSFuncBuiltin = { fg = p.love }, -- TSFuncMacro = {}, From ada34c540a722bccfff93d7c0a37051a0a7fe595 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 15 Aug 2021 18:19:20 -0500 Subject: [PATCH 006/309] add `FoldColumn` (fixes #13) --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 4809826..464256f 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -75,7 +75,7 @@ theme.loadEditor = function() -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, FloatBorder = { fg = p.highlight, bg = p.surface }, - -- FoldColumn = {}, + FoldColumn = { bg = p.base }, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight }, LineNr = { fg = p.inactive }, From 3ca8a59263bed890c1f8238c757fa8c8c565e866 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 15 Aug 2021 18:26:29 -0500 Subject: [PATCH 007/309] add `CursorColumn` --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 464256f..8b67122 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -61,7 +61,7 @@ theme.loadEditor = function() ColorColumn = { bg = p.highlight_overlay }, -- Conceal = {}, -- Cursor = {}, - -- CursorColumn = {}, + CursorColumn = { bg = p.highlight }, -- CursorIM = {}, CursorLine = { bg = p.highlight_inactive }, CursorLineNr = { fg = p.text }, From fad3c8779c0af8574ec887656960a7c592666501 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 15 Aug 2021 18:27:10 -0500 Subject: [PATCH 008/309] inherit background for `FoldColumn` --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 8b67122..81c2d7b 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -75,7 +75,7 @@ theme.loadEditor = function() -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, FloatBorder = { fg = p.highlight, bg = p.surface }, - FoldColumn = { bg = p.base }, + FoldColumn = {}, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight }, LineNr = { fg = p.inactive }, From c8d623872ee9edb20da86b5c9fd5aabb37a92826 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 16 Aug 2021 10:27:37 -0500 Subject: [PATCH 009/309] docs: note to set options before setting the colorscheme closes #12 --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readme.md b/readme.md index 6265d6c..d605c00 100644 --- a/readme.md +++ b/readme.md @@ -73,6 +73,8 @@ require('lualine').setup({ ## Options +> Options should be set before the colorscheme + ```lua -- Set variant -- @usage 'base' | 'moon' | 'dawn' | 'rose-pine[-moon][-dawn]' @@ -84,6 +86,9 @@ vim.g.rose_pine_enable_italics = true -- Use terminal background -- Note: Set to true to fix any funky background colors vim.g.rose_pine_disable_background = false + +-- Set colorscheme after options +vim.cmd('colorscheme rose-pine') ``` ## Functions From e6649b4829d1b2ff883cf9947994007a0fc8f6d8 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 16 Aug 2021 10:28:05 -0500 Subject: [PATCH 010/309] docs: cleanup usage --- readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/readme.md b/readme.md index d605c00..a307c07 100644 --- a/readme.md +++ b/readme.md @@ -25,19 +25,12 @@ use({ 'rose-pine/neovim', as = 'rose-pine' }) Enable `rose-pine` colorscheme ```lua --- Lua vim.cmd('colorscheme rose-pine') ``` -```vim -" Vimscript -colorscheme rose-pine -``` - Enable [lualine](https://github.com/hoob3rt/lualine.nvim) plugin ```lua --- Lua require('lualine').setup({ options = { theme = 'rose-pine' From 901db8e6cfe91cf7ac8672c0682591ec96a50885 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 16 Aug 2021 21:16:26 -0500 Subject: [PATCH 011/309] add `NvimTreeSpecialFile` --- lua/rose-pine/theme.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 81c2d7b..b2e9ee8 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -296,6 +296,7 @@ theme.loadPlugins = function() NvimTreeOpenedFile = { fg = p.text, bg = p.highlight }, NvimTreeOpenedFolderName = { fg = p.foam }, NvimTreeRootFolder = { fg = p.iris }, + NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, NvimTreeGitDeleted = { fg = p.love }, NvimTreeGitDirty = { fg = p.rose }, From 9fb6504ce3569c021b656d2d16f382e65ee3d139 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 16 Aug 2021 21:16:37 -0500 Subject: [PATCH 012/309] add `NvimTreeGitIgnored`` --- lua/rose-pine/theme.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index b2e9ee8..0b68209 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -300,6 +300,7 @@ theme.loadPlugins = function() NvimTreeGitDeleted = { fg = p.love }, NvimTreeGitDirty = { fg = p.rose }, + NvimTreeGitIgnored = { fg = p.subtle }, NvimTreeGitMerge = { fg = p.iris }, NvimTreeGitNew = { fg = p.foam }, NvimTreeGitRenamed = { fg = p.pine }, From c619fa139e3969530fc619d527ac7e9e67748734 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 16 Aug 2021 21:16:48 -0500 Subject: [PATCH 013/309] format --- lua/rose-pine/theme.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 0b68209..18d42f8 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -290,6 +290,13 @@ theme.loadPlugins = function() -- https://github.com/kyazdani42/nvim-tree.lua NvimTreeNormal = { fg = p.text }, + 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 }, NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, @@ -306,13 +313,6 @@ theme.loadPlugins = function() 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 }, - -- which-key.nvim -- https://github.com/folke/which-key.nvim WhichKey = { fg = p.iris }, From 70bd2ee9e6330b4d13996bfdc2a91fef0b933132 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:00:41 -0500 Subject: [PATCH 014/309] format --- stylua.toml => .stylua.toml | 0 colors/rose-pine.vim | 4 ++-- lua/rose-pine/init.lua | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) rename stylua.toml => .stylua.toml (100%) diff --git a/stylua.toml b/.stylua.toml similarity index 100% rename from stylua.toml rename to .stylua.toml diff --git a/colors/rose-pine.vim b/colors/rose-pine.vim index 7f305f5..4b06354 100644 --- a/colors/rose-pine.vim +++ b/colors/rose-pine.vim @@ -1,9 +1,9 @@ lua << EOF package.loaded['rose-pine'] = nil -package.loaded['rose-pine.util'] = nil +package.loaded['rose-pine.functions'] = nil package.loaded['rose-pine.palette'] = nil package.loaded['rose-pine.theme'] = nil -package.loaded['rose-pine.functions'] = nil +package.loaded['rose-pine.util'] = nil require('rose-pine').set() EOF diff --git a/lua/rose-pine/init.lua b/lua/rose-pine/init.lua index 5ea43df..10a37b0 100644 --- a/lua/rose-pine/init.lua +++ b/lua/rose-pine/init.lua @@ -1,7 +1,9 @@ local util = require('rose-pine.util') -local set = function() +local M = {} + +function M.set() util.load() end -return { set = set } +return M From 5d560dfb115b5be60391bec8f5ed8367666bee44 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:06:35 -0500 Subject: [PATCH 015/309] refactor theme --- lua/rose-pine/theme.lua | 583 +++++++++++++++++++--------------------- lua/rose-pine/util.lua | 39 +-- 2 files changed, 293 insertions(+), 329 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 18d42f8..c6dca83 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,131 +1,145 @@ local p = require('rose-pine.palette') local theme = {} +local maybe_base = p.base -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', - }, - 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 +if vim.g.rose_pine_disable_background then + maybe_base = p.none end -theme.loadEditor = function() - local editor = { - ColorColumn = { bg = p.highlight_overlay }, - -- Conceal = {}, - -- Cursor = {}, - CursorColumn = { bg = p.highlight }, - -- CursorIM = {}, - CursorLine = { bg = p.highlight_inactive }, - CursorLineNr = { fg = p.text }, - DarkenedPanel = { bg = p.surface }, - DarkenedStatusline = { bg = p.surface }, - DiffAdd = { fg = p.foam }, - DiffChange = { fg = p.rose }, - DiffDelete = { fg = p.love }, - DiffText = { fg = p.text }, - Directory = { fg = p.foam, bg = p.none }, - -- EndOfBuffer = {}, - ErrorMsg = { fg = p.love, style = 'bold' }, - FloatBorder = { fg = p.highlight, bg = p.surface }, - FoldColumn = {}, - Folded = { fg = p.text, bg = p.surface }, - 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 }, - SpellBad = { style = 'undercurl', sp = p.love }, - SpellCap = { style = 'undercurl', sp = p.subtle }, - SpellLocal = { style = 'undercurl', sp = p.subtle }, - SpellRare = { style = 'undercurl', sp = p.subtle }, - SignColumn = {}, - StatusLine = { fg = p.text, bg = p.surface }, - StatusLineNC = { fg = p.subtle, bg = p.surface }, - -- StatusLineTerm = {}, - -- StatusLineTermNC = {}, - -- TabLine = {}, - -- TabLineFill = {}, - -- TabLineSel = {}, - Title = { fg = p.rose }, - VertSplit = { fg = p.overlay }, - Visual = { bg = p.highlight }, - -- VisualNOS = {}, - WarningMsg = { fg = p.gold }, - -- Whitespace = {}, - -- WildMenu = {}, - } +theme.base = { + ColorColumn = { bg = p.highlight_overlay }, + -- Conceal = {}, + -- Cursor = {}, + CursorColumn = { bg = p.highlight }, + -- CursorIM = {}, + CursorLine = { bg = p.highlight_inactive }, + CursorLineNr = { fg = p.text }, + DarkenedPanel = { bg = p.surface }, + DarkenedStatusline = { bg = p.surface }, + DiffAdd = { fg = p.foam }, + DiffChange = { fg = p.rose }, + DiffDelete = { fg = p.love }, + DiffText = { fg = p.text }, + Directory = { fg = p.foam, bg = p.none }, + -- EndOfBuffer = {}, + ErrorMsg = { fg = p.love, style = 'bold' }, + FloatBorder = { fg = p.highlight, bg = p.surface }, + FoldColumn = {}, + Folded = { fg = p.text, bg = p.surface }, + 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, bg = maybe_base }, + -- 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 }, + SpellBad = { style = 'undercurl', sp = p.love }, + SpellCap = { style = 'undercurl', sp = p.subtle }, + SpellLocal = { style = 'undercurl', sp = p.subtle }, + SpellRare = { style = 'undercurl', sp = p.subtle }, + SignColumn = { fg = p.text, bg = maybe_base }, + StatusLine = { fg = p.text, bg = p.surface }, + StatusLineNC = { fg = p.subtle, bg = p.surface }, + -- 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 + 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 }, + Todo = { fg = p.iris }, + Type = { fg = p.foam }, + Typedef = { fg = p.foam }, + Underlined = { fg = p.foam, style = 'underline' }, - return editor -end + htmlArg = { fg = p.iris }, + 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 vim.g.terminal_color_0 = p.overlay vim.g.terminal_color_8 = p.subtle @@ -152,204 +166,167 @@ theme.loadTerminal = function() vim.g.terminal_color_15 = p.text end -theme.loadTreesitter = function() - local treesitter = { - -- TSAnnotation = {}, - -- TSAttribute = {}, - TSBoolean = { fg = p.rose }, - -- TSCharacter = {}, - TSComment = { - fg = p.subtle, - style = vim.g.rose_pine_enable_italics and 'italic', - }, - -- TSConditional = {}, - TSConstBuiltin = { fg = p.love }, - -- TSConstMacro = {}, - TSConstant = { fg = p.foam }, - TSConstructor = { fg = p.foam }, - -- TSEmphasis = {}, - -- TSError = {}, - -- TSException = {}, - TSField = { fg = p.foam }, - -- TSFloat = {}, - TSFuncBuiltin = { fg = p.love }, - -- TSFuncMacro = {}, - TSFunction = { fg = p.rose }, - TSInclude = { fg = p.pine }, - TSKeyword = { fg = p.pine }, - -- TSKeywordFunction = {}, - TSKeywordOperator = { fg = p.pine }, - TSLabel = { fg = p.foam }, - -- TSLiteral = {}, - -- TSMethod = {}, - -- TSNamespace = {}, - -- TSNone = {}, - -- TSNumber = {}, - TSOperator = { fg = p.pine }, - TSParameter = { - fg = p.iris, - style = vim.g.rose_pine_enable_italics and 'italic', - }, - -- TSParameterReference = {}, - TSProperty = { - fg = p.iris, - style = vim.g.rose_pine_enable_italics and 'italic', - }, - TSPunctBracket = { fg = p.subtle }, - TSPunctDelimiter = { fg = p.subtle }, - TSPunctSpecial = { fg = p.subtle }, - -- TSRepeat = {}, - -- TSStrike = {}, - TSString = { fg = p.gold }, - TSStringEscape = { fg = p.pine }, - -- TSStringRegex = {}, - -- TSSymbol = {}, - TSTag = { fg = p.foam }, - TSTagDelimiter = { fg = p.subtle }, - TSText = { fg = p.text }, - -- TSTitle = {}, - -- TSType = {}, - -- TSTypeBuiltin = {}, - TSURI = { fg = p.gold }, - -- TSUnderline = {}, - TSVariable = { - fg = p.text, - style = vim.g.rose_pine_enable_italics and 'italic', - }, - TSVariableBuiltin = { fg = p.love }, - } +theme.treesitter = { + -- TSAnnotation = {}, + -- TSAttribute = {}, + TSBoolean = { fg = p.rose }, + -- TSCharacter = {}, + TSComment = { + fg = p.subtle, + style = vim.g.rose_pine_enable_italics and 'italic', + }, + -- TSConditional = {}, + TSConstBuiltin = { fg = p.love }, + -- TSConstMacro = {}, + TSConstant = { fg = p.foam }, + TSConstructor = { fg = p.foam }, + -- TSEmphasis = {}, + -- TSError = {}, + -- TSException = {}, + TSField = { fg = p.foam }, + -- TSFloat = {}, + TSFuncBuiltin = { fg = p.love }, + -- TSFuncMacro = {}, + TSFunction = { fg = p.rose }, + TSInclude = { fg = p.pine }, + TSKeyword = { fg = p.pine }, + -- TSKeywordFunction = {}, + TSKeywordOperator = { fg = p.pine }, + TSLabel = { fg = p.foam }, + -- TSLiteral = {}, + -- TSMethod = {}, + -- TSNamespace = {}, + -- TSNone = {}, + -- TSNumber = {}, + TSOperator = { fg = p.pine }, + TSParameter = { + fg = p.iris, + style = vim.g.rose_pine_enable_italics and 'italic', + }, + -- TSParameterReference = {}, + TSProperty = { + fg = p.iris, + style = vim.g.rose_pine_enable_italics and 'italic', + }, + TSPunctBracket = { fg = p.subtle }, + TSPunctDelimiter = { fg = p.subtle }, + TSPunctSpecial = { fg = p.subtle }, + -- TSRepeat = {}, + -- TSStrike = {}, + TSString = { fg = p.gold }, + TSStringEscape = { fg = p.pine }, + -- TSStringRegex = {}, + -- TSSymbol = {}, + TSTag = { fg = p.foam }, + TSTagDelimiter = { fg = p.subtle }, + TSText = { fg = p.text }, + -- TSTitle = {}, + -- TSType = {}, + -- TSTypeBuiltin = {}, + TSURI = { fg = p.gold }, + -- TSUnderline = {}, + TSVariable = { + fg = p.text, + style = vim.g.rose_pine_enable_italics and 'italic', + }, + TSVariableBuiltin = { fg = p.love }, +} - return treesitter -end +theme.plugins = { + -- 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() - 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 }, - } + -- gitsigns.nvim + -- https://github.com/lewis6991/gitsigns.nvim + SignAdd = { fg = p.foam }, + SignChange = { fg = p.rose }, + SignDelete = { fg = p.love }, + GitSignsAdd = { fg = p.foam }, + GitSignsChange = { fg = p.rose }, + GitSignsDelete = { fg = p.love }, - return lsp -end + -- modes.nvim + -- 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() - local plugins = { - -- 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 }, + -- nvim-tree.lua + -- https://github.com/kyazdani42/nvim-tree.lua + NvimTreeNormal = { fg = p.text }, - -- gitsigns.nvim - -- https://github.com/lewis6991/gitsigns.nvim - SignAdd = { fg = p.foam }, - SignChange = { fg = p.rose }, - SignDelete = { fg = p.love }, - GitSignsAdd = { fg = p.foam }, - GitSignsChange = { fg = p.rose }, - GitSignsDelete = { fg = p.love }, + NvimTreeFileDeleted = { fg = p.love }, + NvimTreeFileDirty = { fg = p.rose }, + NvimTreeFileMerge = { fg = p.iris }, + NvimTreeFileNew = { fg = p.foam }, + NvimTreeFileRenamed = { fg = p.pine }, + NvimTreeFileStaged = { fg = p.iris }, - -- modes.nvim - -- https://github.com/mvllow/modes.nvim - ModesCopy = { bg = p.gold }, - ModesDelete = { bg = p.love }, - ModesInsert = { bg = p.foam }, - ModesVisual = { bg = p.iris }, + NvimTreeEmptyFolderName = { fg = p.inactive }, + NvimTreeFolderIcon = { fg = p.subtle }, + NvimTreeFolderName = { fg = p.foam }, + NvimTreeOpenedFile = { fg = p.text, bg = p.highlight }, + NvimTreeOpenedFolderName = { fg = p.foam }, + NvimTreeRootFolder = { fg = p.iris }, + NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, - -- nvim-tree.lua - -- https://github.com/kyazdani42/nvim-tree.lua - NvimTreeNormal = { fg = p.text }, + NvimTreeGitDeleted = { fg = p.love }, + NvimTreeGitDirty = { fg = p.rose }, + 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 }, - NvimTreeFolderIcon = { fg = p.subtle }, - NvimTreeFolderName = { fg = p.foam }, - NvimTreeOpenedFile = { fg = p.text, bg = p.highlight }, - NvimTreeOpenedFolderName = { fg = p.foam }, - NvimTreeRootFolder = { fg = p.iris }, - NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, + -- todo-comments.nvim + -- https://github.com/folke/todo-comments.nvim + TodoBgFIX = { fg = '#000000', bg = p.love }, + TodoFgFIX = { fg = p.love, bg = p.base }, + TodoSignFIX = { fg = p.love, bg = p.base }, - NvimTreeGitDeleted = { fg = p.love }, - NvimTreeGitDirty = { fg = p.rose }, - NvimTreeGitIgnored = { fg = p.subtle }, - NvimTreeGitMerge = { fg = p.iris }, - NvimTreeGitNew = { fg = p.foam }, - NvimTreeGitRenamed = { fg = p.pine }, - NvimTreeGitStaged = { fg = p.iris }, + TodoBgTODO = { fg = '#000000', bg = p.rose }, + TodoFgTODO = { fg = p.rose, bg = p.base }, + TodoSignTODO = { fg = p.rose, bg = p.base }, - -- 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 }, + TodoBgHACK = { fg = '#ffffff', bg = p.pine }, + TodoFgHACK = { fg = p.pine, bg = p.base }, + TodoSignHACK = { fg = p.pine, bg = p.base }, - -- todo-comments.nvim - -- https://github.com/folke/todo-comments.nvim - TodoBgFIX = { fg = '#000000', bg = p.love }, - TodoFgFIX = { fg = p.love, bg = p.base }, - TodoSignFIX = { fg = p.love, bg = p.base }, + TodoBgWARN = { fg = '#000000', bg = p.gold }, + TodoFgWARN = { fg = p.gold, bg = p.base }, + TodoSignWARN = { fg = p.gold, bg = p.base }, - TodoBgTODO = { fg = '#000000', bg = p.rose }, - TodoFgTODO = { fg = p.rose, bg = p.base }, - TodoSignTODO = { fg = p.rose, bg = p.base }, + TodoBgPERF = { fg = '#000000', bg = p.foam }, + TodoFgPERF = { fg = p.foam, bg = p.base }, + TodoSignPERF = { fg = p.foam, bg = p.base }, - TodoBgHACK = { fg = '#ffffff', bg = p.pine }, - TodoFgHACK = { fg = p.pine, bg = p.base }, - TodoSignHACK = { fg = p.pine, bg = p.base }, + TodoBgNOTE = { fg = '#000000', bg = p.iris }, + TodoFgNOTE = { fg = p.iris, bg = p.base }, + TodoSignNOTE = { fg = p.iris, bg = p.base }, - TodoBgWARN = { fg = '#000000', bg = p.gold }, - TodoFgWARN = { fg = p.gold, bg = p.base }, - TodoSignWARN = { fg = p.gold, bg = p.base }, - - TodoBgPERF = { fg = '#000000', bg = p.foam }, - TodoFgPERF = { fg = p.foam, bg = p.base }, - TodoSignPERF = { fg = p.foam, bg = p.base }, - - TodoBgNOTE = { fg = '#000000', bg = p.iris }, - TodoFgNOTE = { fg = p.iris, bg = p.base }, - TodoSignNOTE = { fg = p.iris, bg = p.base }, - } - - return plugins -end + -- 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 }, +} return theme diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index 408fbc8..a23dca2 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -1,5 +1,4 @@ local util = {} -local theme = require('rose-pine.theme') util.highlight = function(group, color) local style = color.style and 'gui=' .. color.style or 'gui=NONE' @@ -25,11 +24,13 @@ util.highlight = function(group, color) end function util.load() - vim.cmd('hi clear') - if vim.fn.exists('syntax_on') then - vim.cmd('syntax reset') + if vim.g.colors_name then + vim.cmd('hi clear') end - if + + vim.o.termguicolors = true + vim.g.colors_name = 'rose-pine' + vim.g.rose_pine_variant == 'dawn' or vim.g.rose_pine_variant == 'rose-pine-dawn' then @@ -37,25 +38,18 @@ function util.load() else vim.opt.background = 'dark' end - vim.o.termguicolors = true - vim.g.colors_name = 'rose-pine' + + local theme = require('rose-pine.theme') local async async = vim.loop.new_async(vim.schedule_wrap(function() - theme.loadTerminal() - local plugins = theme.loadPlugins() - local treesitter = theme.loadTreesitter() - local lsp = theme.loadLsp() + theme.load_terminal() - for group, colors in pairs(plugins) do + for group, colors in pairs(theme.treesitter) do util.highlight(group, colors) end - for group, colors in pairs(treesitter) do - util.highlight(group, colors) - end - - for group, colors in pairs(lsp) do + for group, colors in pairs(theme.plugins) do util.highlight(group, colors) end @@ -63,18 +57,11 @@ function util.load() end)) -- load priority groups first - local editor = theme.loadEditor() - local syntax = theme.loadSyntax() - - for group, colors in pairs(editor) do + for group, colors in pairs(theme.base) do util.highlight(group, colors) end - for group, colors in pairs(syntax) do - util.highlight(group, colors) - end - - -- load enhancements (eg. lsp, treesitter, plugins) + -- load enhancements (eg. treesitter, plugins) async:send() end From aa1de94e7315b494085c6a72eda679de51834f08 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:06:47 -0500 Subject: [PATCH 016/309] add telescope support --- lua/rose-pine/theme.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index c6dca83..2b04c79 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -292,6 +292,9 @@ theme.plugins = { NvimTreeGitRenamed = { fg = p.pine }, NvimTreeGitStaged = { fg = p.iris }, + -- telescope.nvim + -- https://github.com/nvim-telescope/telescope.nvim + TelescopeBorder = { fg = p.overlay }, -- todo-comments.nvim -- https://github.com/folke/todo-comments.nvim From fd6219436b3d047a597ed85094a6487e6a0d09e8 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:08:04 -0500 Subject: [PATCH 017/309] use dawn variant if vim background is light (closes #15) --- lua/rose-pine/util.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index a23dca2..a582e64 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -31,12 +31,13 @@ function util.load() vim.o.termguicolors = true vim.g.colors_name = 'rose-pine' + if vim.o.background == 'light' then + vim.g.rose_pine_variant = 'dawn' + elseif vim.g.rose_pine_variant == 'dawn' or vim.g.rose_pine_variant == 'rose-pine-dawn' then - vim.opt.background = 'light' - else - vim.opt.background = 'dark' + vim.o.background = 'light' end local theme = require('rose-pine.theme') From 72bc07055fefa595352fdccb657456046404eaed Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:15:03 -0500 Subject: [PATCH 018/309] breaking: change italics setting, enabled by default - changes `enable_italics` to `disable_italics` --- lua/rose-pine/theme.lua | 15 ++++++++++----- readme.md | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 2b04c79..9eebb17 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -2,11 +2,16 @@ local p = require('rose-pine.palette') local theme = {} local maybe_base = p.base +local maybe_italic = 'italic' if vim.g.rose_pine_disable_background then maybe_base = p.none end +if vim.g.rose_pine_disable_italics then + maybe_italic = nil +end + theme.base = { ColorColumn = { bg = p.highlight_overlay }, -- Conceal = {}, @@ -67,7 +72,7 @@ theme.base = { Character = { fg = p.gold }, Comment = { fg = p.subtle, - style = vim.g.rose_pine_enable_italics and 'italic', + style = maybe_italic, }, Conditional = { fg = p.pine }, Constant = { fg = p.gold }, @@ -173,7 +178,7 @@ theme.treesitter = { -- TSCharacter = {}, TSComment = { fg = p.subtle, - style = vim.g.rose_pine_enable_italics and 'italic', + style = maybe_italic, }, -- TSConditional = {}, TSConstBuiltin = { fg = p.love }, @@ -201,12 +206,12 @@ theme.treesitter = { TSOperator = { fg = p.pine }, TSParameter = { fg = p.iris, - style = vim.g.rose_pine_enable_italics and 'italic', + style = maybe_italic, }, -- TSParameterReference = {}, TSProperty = { fg = p.iris, - style = vim.g.rose_pine_enable_italics and 'italic', + style = maybe_italic, }, TSPunctBracket = { fg = p.subtle }, TSPunctDelimiter = { fg = p.subtle }, @@ -227,7 +232,7 @@ theme.treesitter = { -- TSUnderline = {}, TSVariable = { fg = p.text, - style = vim.g.rose_pine_enable_italics and 'italic', + style = maybe_italic, }, TSVariableBuiltin = { fg = p.love }, } diff --git a/readme.md b/readme.md index a307c07..2c56498 100644 --- a/readme.md +++ b/readme.md @@ -73,8 +73,8 @@ require('lualine').setup({ -- @usage 'base' | 'moon' | 'dawn' | 'rose-pine[-moon][-dawn]' vim.g.rose_pine_variant = 'base' --- Enable italics -vim.g.rose_pine_enable_italics = true +-- Disable italics +vim.g.rose_pine_disable_italics = false -- Use terminal background -- Note: Set to true to fix any funky background colors From e4d7c4fc76429baa6831c33b32e5c4beb8d0411e Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:19:06 -0500 Subject: [PATCH 019/309] docs: add telescope --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2c56498..74bb48c 100644 --- a/readme.md +++ b/readme.md @@ -40,6 +40,7 @@ require('lualine').setup({ ## Plugin Support +- [Telescope](https://github.com/nvim-telescope/telescope.nvim) - [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - [LSP diagnostics](https://neovim.io/doc/user/lsp.html) - [Barbar](https://github.com/romgrk/barbar.nvim) From 532b03164ccf96dad63bcfeae0bf4f95ba50c966 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:19:19 -0500 Subject: [PATCH 020/309] docs: update readme --- readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 74bb48c..394bbc3 100644 --- a/readme.md +++ b/readme.md @@ -67,7 +67,7 @@ require('lualine').setup({ ## Options -> Options should be set before the colorscheme +> Options should be set before colorscheme ```lua -- Set variant @@ -78,7 +78,6 @@ vim.g.rose_pine_variant = 'base' vim.g.rose_pine_disable_italics = false -- Use terminal background --- Note: Set to true to fix any funky background colors vim.g.rose_pine_disable_background = false -- Set colorscheme after options From 19c8dc49020da1645a85561e714553e433cfed6b Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:19:36 -0500 Subject: [PATCH 021/309] refactor lualine theme --- lua/lualine/themes/rose-pine.lua | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 7ef4fd0..f17aec5 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,34 +1,34 @@ -local colors = require('rose-pine.palette') +local p = require('rose-pine.palette') return { normal = { - a = { bg = colors.rose, fg = colors.base, gui = 'bold' }, - b = { bg = colors.overlay, fg = colors.rose }, - c = { bg = colors.base, fg = colors.text }, + a = { bg = p.rose, fg = p.base, gui = 'bold' }, + b = { bg = p.overlay, fg = p.rose }, + c = { bg = p.base, fg = p.text }, }, insert = { - a = { bg = colors.foam, fg = colors.base, gui = 'bold' }, - b = { bg = colors.overlay, fg = colors.foam }, - c = { bg = colors.base, fg = colors.text }, + a = { bg = p.foam, fg = p.base, gui = 'bold' }, + b = { bg = p.overlay, fg = p.foam }, + c = { bg = p.base, fg = p.text }, }, visual = { - a = { bg = colors.iris, fg = colors.base, gui = 'bold' }, - b = { bg = colors.overlay, fg = colors.iris }, - c = { bg = colors.base, fg = colors.text }, + a = { bg = p.iris, fg = p.base, gui = 'bold' }, + b = { bg = p.overlay, fg = p.iris }, + c = { bg = p.base, fg = p.text }, }, replace = { - a = { bg = colors.pine, fg = colors.base, gui = 'bold' }, - b = { bg = colors.overlay, fg = colors.pine }, - c = { bg = colors.base, fg = colors.text }, + a = { bg = p.pine, fg = p.base, gui = 'bold' }, + b = { bg = p.overlay, fg = p.pine }, + c = { bg = p.base, fg = p.text }, }, command = { - a = { bg = colors.love, fg = colors.base, gui = 'bold' }, - b = { bg = colors.overlay, fg = colors.love }, - c = { bg = colors.base, fg = colors.text }, + a = { bg = p.love, fg = p.base, gui = 'bold' }, + b = { bg = p.overlay, fg = p.love }, + c = { bg = p.base, fg = p.text }, }, inactive = { - a = { bg = colors.base, fg = colors.inactive, gui = 'bold' }, - b = { bg = colors.base, fg = colors.inactive }, - c = { bg = colors.base, fg = colors.inactive }, + a = { bg = p.base, fg = p.inactive, gui = 'bold' }, + b = { bg = p.base, fg = p.inactive }, + c = { bg = p.base, fg = p.inactive }, }, } From 368ac5fa0442a45f7c428610956e002b4393e671 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:20:08 -0500 Subject: [PATCH 022/309] increase `TelescopeBorder` contrast --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 9eebb17..734cf27 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -299,7 +299,7 @@ theme.plugins = { -- telescope.nvim -- https://github.com/nvim-telescope/telescope.nvim - TelescopeBorder = { fg = p.overlay }, + TelescopeBorder = { fg = p.subtle }, -- todo-comments.nvim -- https://github.com/folke/todo-comments.nvim From 9eb7029ba7af57baa3549a051d529de22bad892f Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:23:48 -0500 Subject: [PATCH 023/309] docs: default to dawn if vim background is light --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 394bbc3..84f8631 100644 --- a/readme.md +++ b/readme.md @@ -71,6 +71,7 @@ require('lualine').setup({ ```lua -- Set variant +-- Defaults to 'dawn' if vim background is light -- @usage 'base' | 'moon' | 'dawn' | 'rose-pine[-moon][-dawn]' vim.g.rose_pine_variant = 'base' From ce6f25e13badaffd24f3df9ca4c4b83500cd076e Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 20 Aug 2021 11:37:20 -0500 Subject: [PATCH 024/309] always prioritise global variant setting --- lua/rose-pine/util.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index a582e64..d1a7321 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -31,7 +31,7 @@ function util.load() vim.o.termguicolors = true vim.g.colors_name = 'rose-pine' - if vim.o.background == 'light' then + if vim.o.background == 'light' and vim.g.rose_pine_variant == nil then vim.g.rose_pine_variant = 'dawn' elseif vim.g.rose_pine_variant == 'dawn' From f0ef7416c7825608d741d675b2e6362cc220f61e Mon Sep 17 00:00:00 2001 From: fvrests Date: Fri, 20 Aug 2021 18:03:14 -0500 Subject: [PATCH 025/309] remove todo-comments config --- lua/rose-pine/theme.lua | 26 -------------------------- readme.md | 1 - 2 files changed, 27 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 734cf27..ac07d85 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -301,32 +301,6 @@ theme.plugins = { -- https://github.com/nvim-telescope/telescope.nvim TelescopeBorder = { fg = p.subtle }, - -- todo-comments.nvim - -- https://github.com/folke/todo-comments.nvim - TodoBgFIX = { fg = '#000000', bg = p.love }, - TodoFgFIX = { fg = p.love, bg = p.base }, - TodoSignFIX = { fg = p.love, bg = p.base }, - - TodoBgTODO = { fg = '#000000', bg = p.rose }, - TodoFgTODO = { fg = p.rose, bg = p.base }, - TodoSignTODO = { fg = p.rose, bg = p.base }, - - TodoBgHACK = { fg = '#ffffff', bg = p.pine }, - TodoFgHACK = { fg = p.pine, bg = p.base }, - TodoSignHACK = { fg = p.pine, bg = p.base }, - - TodoBgWARN = { fg = '#000000', bg = p.gold }, - TodoFgWARN = { fg = p.gold, bg = p.base }, - TodoSignWARN = { fg = p.gold, bg = p.base }, - - TodoBgPERF = { fg = '#000000', bg = p.foam }, - TodoFgPERF = { fg = p.foam, bg = p.base }, - TodoSignPERF = { fg = p.foam, bg = p.base }, - - TodoBgNOTE = { fg = '#000000', bg = p.iris }, - TodoFgNOTE = { fg = p.iris, bg = p.base }, - TodoSignNOTE = { fg = p.iris, bg = p.base }, - -- which-key.nvim -- https://github.com/folke/which-key.nvim WhichKey = { fg = p.iris }, diff --git a/readme.md b/readme.md index 84f8631..8190ab0 100644 --- a/readme.md +++ b/readme.md @@ -48,7 +48,6 @@ require('lualine').setup({ - [Modes](https://github.com/mvllow/modes.nvim) - [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) - [WhichKey](https://github.com/folke/which-key.nvim) -- [Todo Comments](https://github.com/folke/todo-comments.nvim) - [Lualine](https://github.com/hoob3rt/lualine.nvim) ## Gallery From 481a2ba8dbcf03c3f457d3a07ac9848612df7cf6 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 24 Aug 2021 10:31:47 -0500 Subject: [PATCH 026/309] fix: `ColorScheme` autocmd skipped due to async --- lua/rose-pine/util.lua | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index d1a7321..151f495 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -42,28 +42,19 @@ function util.load() local theme = require('rose-pine.theme') - local async - async = vim.loop.new_async(vim.schedule_wrap(function() - theme.load_terminal() + theme.load_terminal() - for group, colors in pairs(theme.treesitter) do - util.highlight(group, colors) - end - - for group, colors in pairs(theme.plugins) do - util.highlight(group, colors) - end - - async:close() - end)) - - -- load priority groups first for group, colors in pairs(theme.base) do util.highlight(group, colors) end - -- load enhancements (eg. treesitter, plugins) - async:send() + for group, colors in pairs(theme.treesitter) do + util.highlight(group, colors) + end + + for group, colors in pairs(theme.plugins) do + util.highlight(group, colors) + end end return util From c231f9f729367b41469d7e709058d19ce143c924 Mon Sep 17 00:00:00 2001 From: Boris Petrov Date: Tue, 24 Aug 2021 20:27:33 +0200 Subject: [PATCH 027/309] Fix conceal highlight --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ac07d85..aaad950 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -14,7 +14,7 @@ end theme.base = { ColorColumn = { bg = p.highlight_overlay }, - -- Conceal = {}, + Conceal = { bg = p.none }, -- Cursor = {}, CursorColumn = { bg = p.highlight }, -- CursorIM = {}, From 4333dc20af7d99d1c1fcd3dad6b79ac854109cc9 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 24 Aug 2021 16:15:02 -0500 Subject: [PATCH 028/309] revert to default border for telescope --- lua/rose-pine/theme.lua | 4 ---- readme.md | 1 - 2 files changed, 5 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index aaad950..73a8512 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -297,10 +297,6 @@ theme.plugins = { NvimTreeGitRenamed = { fg = p.pine }, NvimTreeGitStaged = { fg = p.iris }, - -- telescope.nvim - -- https://github.com/nvim-telescope/telescope.nvim - TelescopeBorder = { fg = p.subtle }, - -- which-key.nvim -- https://github.com/folke/which-key.nvim WhichKey = { fg = p.iris }, diff --git a/readme.md b/readme.md index 8190ab0..9b91afa 100644 --- a/readme.md +++ b/readme.md @@ -40,7 +40,6 @@ require('lualine').setup({ ## Plugin Support -- [Telescope](https://github.com/nvim-telescope/telescope.nvim) - [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - [LSP diagnostics](https://neovim.io/doc/user/lsp.html) - [Barbar](https://github.com/romgrk/barbar.nvim) From acc4201863d91881050ae0c90367a616f981c7d3 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 24 Aug 2021 16:15:42 -0500 Subject: [PATCH 029/309] format --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 73a8512..841fa3d 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -14,7 +14,7 @@ end theme.base = { ColorColumn = { bg = p.highlight_overlay }, - Conceal = { bg = p.none }, + Conceal = { bg = p.none }, -- Cursor = {}, CursorColumn = { bg = p.highlight }, -- CursorIM = {}, From 86e70ab512500f5a2f076e0289b4dc1c092d8b2d Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 24 Aug 2021 16:15:46 -0500 Subject: [PATCH 030/309] increase contrast of `FloatBorder` closes #17 --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 841fa3d..39deb37 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -29,7 +29,7 @@ theme.base = { Directory = { fg = p.foam, bg = p.none }, -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, - FloatBorder = { fg = p.highlight, bg = p.surface }, + FloatBorder = { fg = p.subtle, bg = p.surface }, FoldColumn = {}, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight }, From 5885e44602ce781a82fac9da8525666395e56b29 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 26 Aug 2021 16:40:40 -0500 Subject: [PATCH 031/309] add `NvimTreeWindowPicker` --- lua/rose-pine/theme.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 39deb37..d2e10b3 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -297,6 +297,8 @@ theme.plugins = { NvimTreeGitRenamed = { fg = p.pine }, NvimTreeGitStaged = { fg = p.iris }, + NvimTreeWindowPicker = { fg = p.base, bg = p.iris }, + -- which-key.nvim -- https://github.com/folke/which-key.nvim WhichKey = { fg = p.iris }, From 11f9c5b2973341ed7f0efc63a5b0fe4927395bd5 Mon Sep 17 00:00:00 2001 From: not Date: Sat, 28 Aug 2021 17:08:19 -0500 Subject: [PATCH 032/309] docs: remove `as` from packer use --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 9b91afa..eb98657 100644 --- a/readme.md +++ b/readme.md @@ -17,7 +17,7 @@ Install via your preferred package manager ```lua -- Packer -use({ 'rose-pine/neovim', as = 'rose-pine' }) +use('rose-pine/neovim') ``` ## Usage @@ -28,7 +28,7 @@ Enable `rose-pine` colorscheme vim.cmd('colorscheme rose-pine') ``` -Enable [lualine](https://github.com/hoob3rt/lualine.nvim) plugin +Optionally, enable [lualine](https://github.com/hoob3rt/lualine.nvim) theme ```lua require('lualine').setup({ From 417d5122f329b58cd30cd734edfe2824ee51d127 Mon Sep 17 00:00:00 2001 From: NTBBloodbath Date: Fri, 17 Sep 2021 10:48:24 -0400 Subject: [PATCH 033/309] feat: add galaxyline color theme, see notes in readme --- lua/rose-pine/galaxyline/theme.lua | 19 +++++++++++++++++++ lua/rose-pine/util.lua | 3 +++ readme.md | 13 +++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 lua/rose-pine/galaxyline/theme.lua diff --git a/lua/rose-pine/galaxyline/theme.lua b/lua/rose-pine/galaxyline/theme.lua new file mode 100644 index 0000000..eb8db58 --- /dev/null +++ b/lua/rose-pine/galaxyline/theme.lua @@ -0,0 +1,19 @@ +local present, galaxyline_colors = pcall(require, "galaxyline.themes.colors") +if not present then + return +end + +local palette = require("rose-pine.palette") + +galaxyline_colors["rose-pine"] = { + bg = palette.overlay, + fg = palette.text, + fg_alt = palette.subtle, + yellow = palette.gold, + cyan = palette.foam, + green = palette.inactive, + orange = palette.rose, + magenta = palette.iris, + blue = palette.foam, + red = palette.love, +} diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index 151f495..ba7b117 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -55,6 +55,9 @@ function util.load() for group, colors in pairs(theme.plugins) do util.highlight(group, colors) end + + -- Load galaxyline theme + require("rose-pine.galaxyline.theme") end return util diff --git a/readme.md b/readme.md index eb98657..39fd92a 100644 --- a/readme.md +++ b/readme.md @@ -38,6 +38,19 @@ require('lualine').setup({ }) ``` +Otherwise if you use [galaxyline](https://github.com/glepnir/galaxyline.nvim) + +```lua +-- This should be in your galaxyline configuration file +local colors = require("galaxyline.themes.colors")["rose-pine"] +``` + +> **IMPORTANT**: +> +> 1. This requires [NTBBloodbath's galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim) in order to work. +> +> 2. You can see the list of available colors [here](https://github.com/NTBBloodbath/galaxyline.nvim/blob/main/docs/themes.md#colors-standards). + ## Plugin Support - [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) From fdc0ca2a6c9317c7b910dad9febcd578123049f9 Mon Sep 17 00:00:00 2001 From: GuillaumeAllain <13963457+GuillaumeAllain@users.noreply.github.com> Date: Sat, 18 Sep 2021 20:14:44 -0400 Subject: [PATCH 034/309] https://github.com/neovim/neovim/commit/c13242cf471e9bac19672798798fbd6bb9a8125f neovim officially reprecated LspDiagnostics* group. This changes the LspDiagnostics* highlight group to the correct Diagnotics* group to correct the highlight color. --- lua/rose-pine/theme.lua | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index d2e10b3..09fc20f 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -114,30 +114,30 @@ theme.base = { htmlTagN = { fg = p.love }, htmlTagName = { fg = p.foam }, - LspDiagnosticsDefaultHint = { fg = p.iris }, - LspDiagnosticsDefaultInformation = { fg = p.foam }, - LspDiagnosticsDefaultWarning = { fg = p.gold }, - LspDiagnosticsDefaultError = { fg = p.love }, + DiagnosticDefaultHint = { fg = p.iris }, + DiagnosticDefaultInformation = { fg = p.foam }, + DiagnosticDefaultWarning = { fg = p.gold }, + DiagnosticDefaultError = { fg = p.love }, - LspDiagnosticsFloatingHint = { fg = p.iris }, - LspDiagnosticsFloatingInformation = { fg = p.foam }, - LspDiagnosticsFloatingWarning = { fg = p.gold }, - LspDiagnosticsFloatingError = { fg = p.love }, + DiagnosticFloatingHint = { fg = p.iris }, + DiagnosticFloatingInformation = { fg = p.foam }, + DiagnosticFloatingWarning = { fg = p.gold }, + DiagnosticFloatingError = { fg = p.love }, - LspDiagnosticsSignHint = { fg = p.iris }, - LspDiagnosticsSignInformation = { fg = p.foam }, - LspDiagnosticsSignWarning = { fg = p.gold }, - LspDiagnosticsSignError = { fg = p.love }, + DiagnosticSignHint = { fg = p.iris }, + DiagnosticSignInformation = { fg = p.foam }, + DiagnosticSignWarning = { fg = p.gold }, + DiagnosticSignError = { 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 }, + DiagnosticUnderlineHint = { style = 'undercurl', sp = p.iris }, + DiagnosticUnderlineInformation = { style = 'undercurl', sp = p.foam }, + DiagnosticUnderlineWarning = { style = 'undercurl', sp = p.gold }, + DiagnosticUnderlineError = { style = 'undercurl', sp = p.love }, - LspDiagnosticsVirtualTextHint = { fg = p.iris }, - LspDiagnosticsVirtualTextInformation = { fg = p.foam }, - LspDiagnosticsVirtualTextWarning = { fg = p.gold }, - LspDiagnosticsVirtualTextError = { fg = p.love }, + DiagnosticVirtualTextHint = { fg = p.iris }, + DiagnosticVirtualTextInformation = { fg = p.foam }, + DiagnosticVirtualTextWarning = { fg = p.gold }, + DiagnosticVirtualTextError = { fg = p.love }, LspReferenceText = { fg = p.rose, bg = p.highlight }, LspReferenceRead = { fg = p.rose, bg = p.highlight }, From 4e0e41ff4f1d1c2e42e63f9582594a65a54d3ce1 Mon Sep 17 00:00:00 2001 From: Naruto Uzumaki <79555780+NarutoXY@users.noreply.github.com> Date: Wed, 22 Sep 2021 16:22:24 +0530 Subject: [PATCH 035/309] add(highlight): indent-blankline.nvim --- lua/rose-pine/theme.lua | 4 ++++ readme.md | 1 + 2 files changed, 5 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 09fc20f..6cd46b5 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -307,6 +307,10 @@ theme.plugins = { WhichKeyDesc = { fg = p.gold }, WhichKeyFloat = { bg = p.surface }, WhichKeyValue = { fg = p.rose }, + + -- indent-blankline.nvim + -- https://github.com/lukas-reineke/indent-blankline.nvim + IndentBlanklineChar = { fg = p.subtle }, } return theme diff --git a/readme.md b/readme.md index 39fd92a..458fb40 100644 --- a/readme.md +++ b/readme.md @@ -61,6 +61,7 @@ local colors = require("galaxyline.themes.colors")["rose-pine"] - [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) - [WhichKey](https://github.com/folke/which-key.nvim) - [Lualine](https://github.com/hoob3rt/lualine.nvim) +- [Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) ## Gallery From d8ca0bc95e13ed52ab69c0a6ce42b7d0604e728d Mon Sep 17 00:00:00 2001 From: Andres Baron <65829671+Yagua@users.noreply.github.com> Date: Fri, 24 Sep 2021 08:29:16 -0500 Subject: [PATCH 036/309] Fix Lsp hightlight bug (#23) --- lua/rose-pine/theme.lua | 45 ++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 6cd46b5..dc9caf0 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -115,33 +115,58 @@ theme.base = { htmlTagName = { fg = p.foam }, DiagnosticDefaultHint = { fg = p.iris }, - DiagnosticDefaultInformation = { fg = p.foam }, - DiagnosticDefaultWarning = { fg = p.gold }, + DiagnosticDefaultInfo = { fg = p.foam }, + DiagnosticDefaultWarn = { fg = p.gold }, DiagnosticDefaultError = { fg = p.love }, DiagnosticFloatingHint = { fg = p.iris }, - DiagnosticFloatingInformation = { fg = p.foam }, - DiagnosticFloatingWarning = { fg = p.gold }, + DiagnosticFloatingInfo = { fg = p.foam }, + DiagnosticFloatingWarn = { fg = p.gold }, DiagnosticFloatingError = { fg = p.love }, DiagnosticSignHint = { fg = p.iris }, - DiagnosticSignInformation = { fg = p.foam }, - DiagnosticSignWarning = { fg = p.gold }, + DiagnosticSignInfo = { fg = p.foam }, + DiagnosticSignWarn = { fg = p.gold }, DiagnosticSignError = { fg = p.love }, DiagnosticUnderlineHint = { style = 'undercurl', sp = p.iris }, - DiagnosticUnderlineInformation = { style = 'undercurl', sp = p.foam }, - DiagnosticUnderlineWarning = { style = 'undercurl', sp = p.gold }, + DiagnosticUnderlineInfo = { style = 'undercurl', sp = p.foam }, + DiagnosticUnderlineWarn = { style = 'undercurl', sp = p.gold }, DiagnosticUnderlineError = { style = 'undercurl', sp = p.love }, DiagnosticVirtualTextHint = { fg = p.iris }, - DiagnosticVirtualTextInformation = { fg = p.foam }, - DiagnosticVirtualTextWarning = { fg = p.gold }, + DiagnosticVirtualTextInfo = { fg = p.foam }, + DiagnosticVirtualTextWarn = { fg = p.gold }, DiagnosticVirtualTextError = { fg = p.love }, LspReferenceText = { fg = p.rose, bg = p.highlight }, LspReferenceRead = { fg = p.rose, bg = p.highlight }, LspReferenceWrite = { fg = p.rose, bg = p.highlight }, + + --Lsp color groups for nvim 0.5.x + LspDiagnosticsSignWarning = { link = "DiagnosticSignWarn" }, + LspDiagnosticsDefaultWarning = { link = "DiagnosticDefaultWarn" }, + LspDiagnosticsFloatingWarning = { link = "DiagnosticFloatingWarn" }, + LspDiagnosticsVirtualTextWarning = { link = "DiagnosticVirtualTextWarn" }, + LspDiagnosticsUnderlineWarning = { link = "DiagnosticUnderlineWarn" }, + + LspDiagnosticsSignHint = { link = "DiagnosticSignHint" }, + LspDiagnosticsDefaultHint = { link = "DiagnosticDefaultHint" }, + LspDiagnosticsVirtualTextHint = { link = "DiagnosticFloatingHint" }, + LspDiagnosticsFloatingHint = { link = "DiagnosticVirtualTextHint" }, + LspDiagnosticsUnderlineHint = { link = "DiagnosticUnderlineHint" }, + + LspDiagnosticsSignError = { link = "DiagnosticSignError" }, + LspDiagnosticsDefaultError = { link = "DiagnosticDefaultError" }, + LspDiagnosticsFloatingError = { link = "DiagnosticFloatingError" }, + LspDiagnosticsVirtualTextError = { link = "DiagnosticVirtualTextError" }, + LspDiagnosticsUnderlineError = { link = "DiagnosticUnderlineError" }, + + LspDiagnosticsSignInformation = { link = "DiagnosticSignInfo" }, + LspDiagnosticsDefaultInformation = { link = "DiagnosticDefaultInfo" }, + LspDiagnosticsFloatingInformation = { link = "DiagnosticFloatingInfo" }, + LspDiagnosticsVirtualTextInformation = { link = "DiagnosticVirtualTextInfo" }, + LspDiagnosticsUnderlineInformation = { link = "DiagnosticUnderlineInfo" }, } function theme.load_terminal() From 6489d7cc627b590229b61eabfbc83675d63c1e83 Mon Sep 17 00:00:00 2001 From: Devin <47056144+ikws4@users.noreply.github.com> Date: Wed, 29 Sep 2021 08:44:21 +0800 Subject: [PATCH 037/309] feat: add highlight for nvim_cmp (#24) * feat: add highlight for nvim_cmp * fix: indentation --- lua/rose-pine/theme.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index dc9caf0..06983a3 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -336,6 +336,14 @@ theme.plugins = { -- indent-blankline.nvim -- https://github.com/lukas-reineke/indent-blankline.nvim IndentBlanklineChar = { fg = p.subtle }, + + -- nvim-cmp + -- https://github.com/hrsh7th/nvim-cmp + CmpItemKind = { fg = p.iris }, + CmpItemAbbr = { fg = p.subtle }, + CmpItemAbbrMatch = { fg = p.text, style = 'bold' }, + CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' }, + CmpItemAbbrDeprecated = { fg = p.subtle, style = 'strikethrough' }, } return theme From 5cf7750240ef5f36383b098cd1538e256cd67eae Mon Sep 17 00:00:00 2001 From: Devin <47056144+ikws4@users.noreply.github.com> Date: Thu, 30 Sep 2021 04:00:34 +0800 Subject: [PATCH 038/309] feat: add bold vertical split line option (#26) --- lua/rose-pine/theme.lua | 7 ++++++- readme.md | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 06983a3..3b80aa3 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -3,6 +3,7 @@ local p = require('rose-pine.palette') local theme = {} local maybe_base = p.base local maybe_italic = 'italic' +local maybe_bold_vert_split = { fg = p.overlay } if vim.g.rose_pine_disable_background then maybe_base = p.none @@ -12,6 +13,10 @@ if vim.g.rose_pine_disable_italics then maybe_italic = nil end +if vim.g.rose_pine_bold_vertical_split_line then + maybe_bold_vert_split = { fg = p.surface, bg = p.surface } +end + theme.base = { ColorColumn = { bg = p.highlight_overlay }, Conceal = { bg = p.none }, @@ -61,7 +66,7 @@ theme.base = { -- TabLineFill = {}, -- TabLineSel = {}, Title = { fg = p.rose }, - VertSplit = { fg = p.overlay }, + VertSplit = maybe_bold_vert_split, Visual = { bg = p.highlight }, -- VisualNOS = {}, WarningMsg = { fg = p.gold }, diff --git a/readme.md b/readme.md index 458fb40..3ed5c29 100644 --- a/readme.md +++ b/readme.md @@ -93,6 +93,9 @@ vim.g.rose_pine_disable_italics = false -- Use terminal background vim.g.rose_pine_disable_background = false +-- Use bold vertical split line +vim.g.rose_pine_bold_vertical_split_line = true + -- Set colorscheme after options vim.cmd('colorscheme rose-pine') ``` From 09d761aec86def223f9112c50e1aec6ddcdcda32 Mon Sep 17 00:00:00 2001 From: Devin <47056144+ikws4@users.noreply.github.com> Date: Thu, 30 Sep 2021 04:02:12 +0800 Subject: [PATCH 039/309] feat: add support for neogit (#25) --- lua/rose-pine/theme.lua | 50 ++++++++++++++++++++++++----------------- readme.md | 1 + 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 3b80aa3..8c9e803 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -149,29 +149,31 @@ theme.base = { LspReferenceWrite = { fg = p.rose, bg = p.highlight }, --Lsp color groups for nvim 0.5.x - LspDiagnosticsSignWarning = { link = "DiagnosticSignWarn" }, - LspDiagnosticsDefaultWarning = { link = "DiagnosticDefaultWarn" }, - LspDiagnosticsFloatingWarning = { link = "DiagnosticFloatingWarn" }, - LspDiagnosticsVirtualTextWarning = { link = "DiagnosticVirtualTextWarn" }, - LspDiagnosticsUnderlineWarning = { link = "DiagnosticUnderlineWarn" }, + LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' }, + LspDiagnosticsDefaultWarning = { link = 'DiagnosticDefaultWarn' }, + LspDiagnosticsFloatingWarning = { link = 'DiagnosticFloatingWarn' }, + LspDiagnosticsVirtualTextWarning = { link = 'DiagnosticVirtualTextWarn' }, + LspDiagnosticsUnderlineWarning = { link = 'DiagnosticUnderlineWarn' }, - LspDiagnosticsSignHint = { link = "DiagnosticSignHint" }, - LspDiagnosticsDefaultHint = { link = "DiagnosticDefaultHint" }, - LspDiagnosticsVirtualTextHint = { link = "DiagnosticFloatingHint" }, - LspDiagnosticsFloatingHint = { link = "DiagnosticVirtualTextHint" }, - LspDiagnosticsUnderlineHint = { link = "DiagnosticUnderlineHint" }, + LspDiagnosticsSignHint = { link = 'DiagnosticSignHint' }, + LspDiagnosticsDefaultHint = { link = 'DiagnosticDefaultHint' }, + LspDiagnosticsVirtualTextHint = { link = 'DiagnosticFloatingHint' }, + LspDiagnosticsFloatingHint = { link = 'DiagnosticVirtualTextHint' }, + LspDiagnosticsUnderlineHint = { link = 'DiagnosticUnderlineHint' }, - LspDiagnosticsSignError = { link = "DiagnosticSignError" }, - LspDiagnosticsDefaultError = { link = "DiagnosticDefaultError" }, - LspDiagnosticsFloatingError = { link = "DiagnosticFloatingError" }, - LspDiagnosticsVirtualTextError = { link = "DiagnosticVirtualTextError" }, - LspDiagnosticsUnderlineError = { link = "DiagnosticUnderlineError" }, + LspDiagnosticsSignError = { link = 'DiagnosticSignError' }, + LspDiagnosticsDefaultError = { link = 'DiagnosticDefaultError' }, + LspDiagnosticsFloatingError = { link = 'DiagnosticFloatingError' }, + LspDiagnosticsVirtualTextError = { link = 'DiagnosticVirtualTextError' }, + LspDiagnosticsUnderlineError = { link = 'DiagnosticUnderlineError' }, - LspDiagnosticsSignInformation = { link = "DiagnosticSignInfo" }, - LspDiagnosticsDefaultInformation = { link = "DiagnosticDefaultInfo" }, - LspDiagnosticsFloatingInformation = { link = "DiagnosticFloatingInfo" }, - LspDiagnosticsVirtualTextInformation = { link = "DiagnosticVirtualTextInfo" }, - LspDiagnosticsUnderlineInformation = { link = "DiagnosticUnderlineInfo" }, + LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' }, + LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' }, + LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' }, + LspDiagnosticsVirtualTextInformation = { + link = 'DiagnosticVirtualTextInfo', + }, + LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' }, } function theme.load_terminal() @@ -349,6 +351,14 @@ theme.plugins = { CmpItemAbbrMatch = { fg = p.text, style = 'bold' }, CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' }, CmpItemAbbrDeprecated = { fg = p.subtle, style = 'strikethrough' }, + + -- neogit + -- https://github.com/TimUntersberger/neogit + NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_overlay }, + NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_overlay }, + NeogitDiffContextHighlight = { bg = p.highlight }, + NeogitHunkHeader = { bg = p.highlight }, + NeogitHunkHeaderHighlight = { bg = p.highlight }, } return theme diff --git a/readme.md b/readme.md index 3ed5c29..5da8160 100644 --- a/readme.md +++ b/readme.md @@ -62,6 +62,7 @@ local colors = require("galaxyline.themes.colors")["rose-pine"] - [WhichKey](https://github.com/folke/which-key.nvim) - [Lualine](https://github.com/hoob3rt/lualine.nvim) - [Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) +- [Neogit](https://github.com/TimUntersberger/neogit) ## Gallery From a642130aff4e6f128d634bbec09a491f42355ea3 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 5 Oct 2021 18:02:35 -0400 Subject: [PATCH 040/309] feat(theme): Add `TabLine` `TabLine` and `TabLineSel` (#27) --- lua/rose-pine/theme.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 8c9e803..a2936e1 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -62,9 +62,9 @@ theme.base = { StatusLineNC = { fg = p.subtle, bg = p.surface }, -- StatusLineTerm = {}, -- StatusLineTermNC = {}, - -- TabLine = {}, - -- TabLineFill = {}, - -- TabLineSel = {}, + TabLine = { fg = p.subtle, bg = p.overlay }, + TabLineFill = { bg = p.surface }, + TabLineSel = { fg = p.text, bg = p.inactive }, Title = { fg = p.rose }, VertSplit = maybe_bold_vert_split, Visual = { bg = p.highlight }, From 256a231f3c4c024267cedc991a3ce88bd4688f57 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 7 Oct 2021 09:42:07 -0500 Subject: [PATCH 041/309] fix: add `Diagnostic` --- lua/rose-pine/theme.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index a2936e1..47e5fbd 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -119,6 +119,11 @@ theme.base = { htmlTagN = { fg = p.love }, htmlTagName = { fg = p.foam }, + DiagnosticHint = { fg = p.iris }, + DiagnosticInfo = { fg = p.foam }, + DiagnosticWarn = { fg = p.gold }, + DiagnosticError = { fg = p.love }, + DiagnosticDefaultHint = { fg = p.iris }, DiagnosticDefaultInfo = { fg = p.foam }, DiagnosticDefaultWarn = { fg = p.gold }, From fca45b69e28a4dacf2a407d0b4a4bc9953ef5236 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 7 Oct 2021 09:44:08 -0500 Subject: [PATCH 042/309] feat: add `NvimTreeImageFile` --- lua/rose-pine/theme.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 47e5fbd..83810af 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -321,6 +321,7 @@ theme.plugins = { NvimTreeEmptyFolderName = { fg = p.inactive }, NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, + NvimTreeImageFile = { fg = p.gold }, NvimTreeOpenedFile = { fg = p.text, bg = p.highlight }, NvimTreeOpenedFolderName = { fg = p.foam }, NvimTreeRootFolder = { fg = p.iris }, From 26bcaaf703482574ce775eeae14165ff2779252a Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 7 Oct 2021 09:49:48 -0500 Subject: [PATCH 043/309] feat: add `RedrawDebug<*>` --- lua/rose-pine/theme.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 83810af..8dd6087 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -179,6 +179,11 @@ theme.base = { link = 'DiagnosticVirtualTextInfo', }, LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' }, + + -- RedrawDebugNormal + RedrawDebugClear = { fg = '#ffffff', bg = p.gold }, + RedrawDebugComposed = { fg = '#ffffff', bg = p.pine }, + RedrawDebugRecompose = { fg = '#ffffff', bg - p.love }, } function theme.load_terminal() From 8acf4fd29c5ba3590e1e60998d5a4eac122437f5 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 7 Oct 2021 09:50:02 -0500 Subject: [PATCH 044/309] feat: add `NvimInternalError` --- lua/rose-pine/theme.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 8dd6087..ad08f68 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -184,6 +184,8 @@ theme.base = { RedrawDebugClear = { fg = '#ffffff', bg = p.gold }, RedrawDebugComposed = { fg = '#ffffff', bg = p.pine }, RedrawDebugRecompose = { fg = '#ffffff', bg - p.love }, + + NvimInternalError = { fg = '#ffffff', bg = p.love }, } function theme.load_terminal() From e77381fd2e4772752efd0608d56e1ce7525b9566 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 7 Oct 2021 09:50:59 -0500 Subject: [PATCH 045/309] fix: syntax error --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ad08f68..5e8103b 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -183,7 +183,7 @@ theme.base = { -- RedrawDebugNormal RedrawDebugClear = { fg = '#ffffff', bg = p.gold }, RedrawDebugComposed = { fg = '#ffffff', bg = p.pine }, - RedrawDebugRecompose = { fg = '#ffffff', bg - p.love }, + RedrawDebugRecompose = { fg = '#ffffff', bg = p.love }, NvimInternalError = { fg = '#ffffff', bg = p.love }, } From 114ddf60b229bfd67a513a6673296930622879cf Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 7 Oct 2021 09:51:54 -0500 Subject: [PATCH 046/309] chore: use normal text colour for nvim-tree image files --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 5e8103b..ee6426a 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -328,7 +328,7 @@ theme.plugins = { NvimTreeEmptyFolderName = { fg = p.inactive }, NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, - NvimTreeImageFile = { fg = p.gold }, + NvimTreeImageFile = { fg = p.text }, NvimTreeOpenedFile = { fg = p.text, bg = p.highlight }, NvimTreeOpenedFolderName = { fg = p.foam }, NvimTreeRootFolder = { fg = p.iris }, From 8c8eb7375fa2f9df5a007a6e8ce054812a3ede91 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 11 Oct 2021 09:50:54 -0500 Subject: [PATCH 047/309] chore: update html heading text --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ee6426a..9834d29 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -116,7 +116,7 @@ theme.base = { htmlEndTag = { fg = p.subtle }, htmlLink = { fg = p.text }, htmlTag = { fg = p.subtle }, - htmlTagN = { fg = p.love }, + htmlTagN = { fg = p.text }, htmlTagName = { fg = p.foam }, DiagnosticHint = { fg = p.iris }, From 2d4876b8b1daabb34f33e390036b8ca7615e8c3c Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 11 Oct 2021 09:57:03 -0500 Subject: [PATCH 048/309] chore: update `Title` from _rose_ to _text_ --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 9834d29..6f00830 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -65,7 +65,7 @@ theme.base = { TabLine = { fg = p.subtle, bg = p.overlay }, TabLineFill = { bg = p.surface }, TabLineSel = { fg = p.text, bg = p.inactive }, - Title = { fg = p.rose }, + Title = { fg = p.text }, VertSplit = maybe_bold_vert_split, Visual = { bg = p.highlight }, -- VisualNOS = {}, From 7b0ab96f47ecbf65ab4f0f2042c8e2f3b566bd72 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 12 Oct 2021 12:14:41 -0500 Subject: [PATCH 049/309] feat: allow colour overrides closes #10 --- lua/rose-pine/theme.lua | 61 +++++++++++++++++++++++------------------ readme.md | 13 +++++++-- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 6f00830..502ca57 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,5 +1,14 @@ local p = require('rose-pine.palette') +local user_colors = vim.g.rose_pine_colors or {} +local groups = { + comment = user_colors.comment or p.subtle, + hint = user_colors.hint or p.iris, + info = user_colors.info or p.foam, + warn = user_colors.warn or p.gold, + error = user_colors.error or p.love, +} + local theme = {} local maybe_base = p.base local maybe_italic = 'italic' @@ -76,7 +85,7 @@ theme.base = { Boolean = { fg = p.gold }, Character = { fg = p.gold }, Comment = { - fg = p.subtle, + fg = groups.comment, style = maybe_italic, }, Conditional = { fg = p.pine }, @@ -119,35 +128,35 @@ theme.base = { htmlTagN = { fg = p.text }, htmlTagName = { fg = p.foam }, - DiagnosticHint = { fg = p.iris }, - DiagnosticInfo = { fg = p.foam }, - DiagnosticWarn = { fg = p.gold }, - DiagnosticError = { fg = p.love }, + DiagnosticHint = { fg = groups.hint }, + DiagnosticInfo = { fg = groups.info }, + DiagnosticWarn = { fg = groups.warn }, + DiagnosticError = { fg = groups.error }, - DiagnosticDefaultHint = { fg = p.iris }, - DiagnosticDefaultInfo = { fg = p.foam }, - DiagnosticDefaultWarn = { fg = p.gold }, - DiagnosticDefaultError = { fg = p.love }, + DiagnosticDefaultHint = { fg = groups.hint }, + DiagnosticDefaultInfo = { fg = groups.info }, + DiagnosticDefaultWarn = { fg = groups.warn }, + DiagnosticDefaultError = { fg = groups.error }, - DiagnosticFloatingHint = { fg = p.iris }, - DiagnosticFloatingInfo = { fg = p.foam }, - DiagnosticFloatingWarn = { fg = p.gold }, - DiagnosticFloatingError = { fg = p.love }, + DiagnosticFloatingHint = { fg = groups.hint }, + DiagnosticFloatingInfo = { fg = groups.info }, + DiagnosticFloatingWarn = { fg = groups.warn }, + DiagnosticFloatingError = { fg = groups.error }, - DiagnosticSignHint = { fg = p.iris }, - DiagnosticSignInfo = { fg = p.foam }, - DiagnosticSignWarn = { fg = p.gold }, - DiagnosticSignError = { fg = p.love }, + DiagnosticSignHint = { fg = groups.hint }, + DiagnosticSignInfo = { fg = groups.info }, + DiagnosticSignWarn = { fg = groups.warn }, + DiagnosticSignError = { fg = groups.error }, - DiagnosticUnderlineHint = { style = 'undercurl', sp = p.iris }, - DiagnosticUnderlineInfo = { style = 'undercurl', sp = p.foam }, - DiagnosticUnderlineWarn = { style = 'undercurl', sp = p.gold }, - DiagnosticUnderlineError = { style = 'undercurl', sp = p.love }, + DiagnosticUnderlineHint = { style = 'undercurl', sp = groups.hint }, + DiagnosticUnderlineInfo = { style = 'undercurl', sp = groups.info }, + DiagnosticUnderlineWarn = { style = 'undercurl', sp = groups.warn }, + DiagnosticUnderlineError = { style = 'undercurl', sp = groups.error }, - DiagnosticVirtualTextHint = { fg = p.iris }, - DiagnosticVirtualTextInfo = { fg = p.foam }, - DiagnosticVirtualTextWarn = { fg = p.gold }, - DiagnosticVirtualTextError = { fg = p.love }, + DiagnosticVirtualTextHint = { fg = groups.hint }, + DiagnosticVirtualTextInfo = { fg = groups.info }, + DiagnosticVirtualTextWarn = { fg = groups.warn }, + DiagnosticVirtualTextError = { fg = groups.error }, LspReferenceText = { fg = p.rose, bg = p.highlight }, LspReferenceRead = { fg = p.rose, bg = p.highlight }, @@ -221,7 +230,7 @@ theme.treesitter = { TSBoolean = { fg = p.rose }, -- TSCharacter = {}, TSComment = { - fg = p.subtle, + fg = groups.comment, style = maybe_italic, }, -- TSConditional = {}, diff --git a/readme.md b/readme.md index 5da8160..2a596a3 100644 --- a/readme.md +++ b/readme.md @@ -46,9 +46,9 @@ local colors = require("galaxyline.themes.colors")["rose-pine"] ``` > **IMPORTANT**: -> +> > 1. This requires [NTBBloodbath's galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim) in order to work. -> +> > 2. You can see the list of available colors [here](https://github.com/NTBBloodbath/galaxyline.nvim/blob/main/docs/themes.md#colors-standards). ## Plugin Support @@ -97,6 +97,15 @@ vim.g.rose_pine_disable_background = false -- Use bold vertical split line vim.g.rose_pine_bold_vertical_split_line = true +-- Override theme groups +vim.g.rose_pine_colors = { + comment = '#ffffff', + hint = '#9745be', + info = '#78ccc5', + warn = '#f5c359', + error = '#c75c6a', +} + -- Set colorscheme after options vim.cmd('colorscheme rose-pine') ``` From 9dd9c6f55377d7c438cd889391e20a3e39d82181 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 12 Oct 2021 12:23:58 -0500 Subject: [PATCH 050/309] feat: add `punctuation` to `vim.g.rose_pine_colors` ref #29 --- lua/rose-pine/theme.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 502ca57..024f953 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -2,6 +2,7 @@ local p = require('rose-pine.palette') local user_colors = vim.g.rose_pine_colors or {} local groups = { + punctuation = user_colors.punctuation or p.subtle, comment = user_colors.comment or p.subtle, hint = user_colors.hint or p.iris, info = user_colors.info or p.foam, @@ -266,9 +267,9 @@ theme.treesitter = { fg = p.iris, style = maybe_italic, }, - TSPunctBracket = { fg = p.subtle }, - TSPunctDelimiter = { fg = p.subtle }, - TSPunctSpecial = { fg = p.subtle }, + TSPunctBracket = { fg = groups.punctuation }, + TSPunctDelimiter = { fg = groups.punctuation }, + TSPunctSpecial = { fg = groups.punctuation }, -- TSRepeat = {}, -- TSStrike = {}, TSString = { fg = p.gold }, From f772d17125389bec162581dc267796c4a8d5a5b1 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 12 Oct 2021 12:25:28 -0500 Subject: [PATCH 051/309] docs: add new group to `vim.g.rose_pine_colors` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2a596a3..d2bf4dc 100644 --- a/readme.md +++ b/readme.md @@ -99,6 +99,7 @@ vim.g.rose_pine_bold_vertical_split_line = true -- Override theme groups vim.g.rose_pine_colors = { + punctuation = '#fa8072', comment = '#ffffff', hint = '#9745be', info = '#78ccc5', From cb0852761f028a9d5ac39c2580ae3e3b553470c4 Mon Sep 17 00:00:00 2001 From: not Date: Tue, 12 Oct 2021 12:27:24 -0500 Subject: [PATCH 052/309] docs: format --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d2bf4dc..45d423b 100644 --- a/readme.md +++ b/readme.md @@ -100,7 +100,7 @@ vim.g.rose_pine_bold_vertical_split_line = true -- Override theme groups vim.g.rose_pine_colors = { punctuation = '#fa8072', - comment = '#ffffff', + comment = '#ffffff', hint = '#9745be', info = '#78ccc5', warn = '#f5c359', From f14d1a8d0cbd1aaa017602014725b612355bc827 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 12 Oct 2021 13:47:17 -0500 Subject: [PATCH 053/309] docs: update readme --- readme.md | 85 +++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/readme.md b/readme.md index 45d423b..67c9926 100644 --- a/readme.md +++ b/readme.md @@ -11,58 +11,46 @@

-## Install - -Install via your preferred package manager - -```lua --- Packer -use('rose-pine/neovim') -``` - ## Usage -Enable `rose-pine` colorscheme - ```lua -vim.cmd('colorscheme rose-pine') -``` +use({ + 'rose-pine/neovim', + config = function() + -- Options (see available options below) + vim.g.rose_pine_variant = 'base' -Optionally, enable [lualine](https://github.com/hoob3rt/lualine.nvim) theme - -```lua -require('lualine').setup({ - options = { - theme = 'rose-pine' - } + -- Load colorscheme after options + vim.cmd('colorscheme rose-pine') + end }) ``` -Otherwise if you use [galaxyline](https://github.com/glepnir/galaxyline.nvim) +## Plugins -```lua --- This should be in your galaxyline configuration file -local colors = require("galaxyline.themes.colors")["rose-pine"] -``` +> PR's are more than welcome if your favourite plugin is missing -> **IMPORTANT**: -> -> 1. This requires [NTBBloodbath's galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim) in order to work. -> -> 2. You can see the list of available colors [here](https://github.com/NTBBloodbath/galaxyline.nvim/blob/main/docs/themes.md#colors-standards). - -## Plugin Support - -- [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) -- [LSP diagnostics](https://neovim.io/doc/user/lsp.html) -- [Barbar](https://github.com/romgrk/barbar.nvim) -- [Gitsigns](https://github.com/lewis6991/gitsigns.nvim) -- [Modes](https://github.com/mvllow/modes.nvim) -- [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) -- [WhichKey](https://github.com/folke/which-key.nvim) -- [Lualine](https://github.com/hoob3rt/lualine.nvim) -- [Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) -- [Neogit](https://github.com/TimUntersberger/neogit) +- **[Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)** +- **[Diagnostics](https://neovim.io/doc/user/lsp.html)** +- **[Barbar](https://github.com/romgrk/barbar.nvim)** +- **[Gitsigns](https://github.com/lewis6991/gitsigns.nvim)** +- **[Modes](https://github.com/mvllow/modes.nvim)** +- **[NvimTree](https://github.com/kyazdani42/nvim-tree.lua)** +- **[WhichKey](https://github.com/folke/which-key.nvim)** +- **[Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)** +- **[Neogit](https://github.com/TimUntersberger/neogit)** +- **[Lualine](https://github.com/hoob3rt/lualine.nvim)** + ```lua + require('lualine').setup({ + options = { theme = 'rose-pine' } + }) + ``` +- **[Galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim)** + > This fork by NTBBloodbath allows [custom colors](https://github.com/NTBBloodbath/galaxyline.nvim/blob/main/docs/themes.md#colors-standards) + ```lua + -- Set colors in your galaxyline config + local colors = require("galaxyline.themes.colors")["rose-pine"] + ``` ## Gallery @@ -82,6 +70,8 @@ local colors = require("galaxyline.themes.colors")["rose-pine"] > Options should be set before colorscheme +### Interface + ```lua -- Set variant -- Defaults to 'dawn' if vim background is light @@ -96,8 +86,11 @@ vim.g.rose_pine_disable_background = false -- Use bold vertical split line vim.g.rose_pine_bold_vertical_split_line = true +``` --- Override theme groups +### Custom colours + +```lua vim.g.rose_pine_colors = { punctuation = '#fa8072', comment = '#ffffff', @@ -106,7 +99,11 @@ vim.g.rose_pine_colors = { warn = '#f5c359', error = '#c75c6a', } +``` +Be sure to set the colorscheme _after_ options + +```lua -- Set colorscheme after options vim.cmd('colorscheme rose-pine') ``` From 4f6e07b6432ecab4af4143b5faf7b21e20b16a78 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Sun, 17 Oct 2021 19:08:10 +0200 Subject: [PATCH 054/309] chore: update `FloatBorder` bg color (#30) --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 024f953..02a29e7 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -44,7 +44,7 @@ theme.base = { Directory = { fg = p.foam, bg = p.none }, -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, - FloatBorder = { fg = p.subtle, bg = p.surface }, + FloatBorder = { fg = p.subtle }, FoldColumn = {}, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight }, From bc6fa998dd907683c5dce7f9ea2439795abd250d Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Tue, 19 Oct 2021 20:14:20 +0200 Subject: [PATCH 055/309] Update readme.md (#31) this will make sure the name of the containing plugin folder will be rose-pine instead of neovim. it's also in packers docs for dracula: https://github.com/wbthomason/packer.nvim#quickstart --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 67c9926..23b3bb9 100644 --- a/readme.md +++ b/readme.md @@ -16,6 +16,7 @@ ```lua use({ 'rose-pine/neovim', + as = 'rose-pine', config = function() -- Options (see available options below) vim.g.rose_pine_variant = 'base' From 7f2bcbb369c1dad5a2627e6bcf0d351a47288835 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 8 Nov 2021 16:23:45 -0600 Subject: [PATCH 056/309] chore: update bufferline style --- lua/rose-pine/theme.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 02a29e7..4af89f1 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -294,7 +294,7 @@ theme.treesitter = { theme.plugins = { -- barbar.nvim -- https://github.com/romgrk/barbar.nvim - BufferTabpageFill = { bg = p.none }, + BufferTabpageFill = { fg = p.base, bg = p.base }, BufferCurrent = { fg = p.text, bg = p.overlay }, BufferCurrentIndex = { fg = p.text, bg = p.overlay }, BufferCurrentMod = { fg = p.foam, bg = p.overlay }, @@ -302,11 +302,11 @@ theme.plugins = { BufferInactive = { fg = p.subtle }, BufferInactiveIndex = { fg = p.subtle }, BufferInactiveMod = { fg = p.foam }, - BufferInactiveSign = { fg = p.subtle }, + BufferInactiveSign = { fg = p.inactive }, BufferVisible = { fg = p.subtle }, BufferVisibleIndex = { fg = p.subtle }, BufferVisibleMod = { fg = p.foam }, - BufferVisibleSign = { fg = p.subtle }, + BufferVisibleSign = { fg = p.inactive }, -- gitsigns.nvim -- https://github.com/lewis6991/gitsigns.nvim From 353c4e6f1e2b7049fe8fb613d4d89b195c789021 Mon Sep 17 00:00:00 2001 From: Koczka Bence <48826429+sorachii@users.noreply.github.com> Date: Mon, 8 Nov 2021 23:24:32 +0100 Subject: [PATCH 057/309] Added markdown highlight groups. (#32) * Added markdown highlights. * enchancement: Improve non-treesitter support(#6) Added markdown highlight groups. --- lua/rose-pine/theme.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 4af89f1..3f54f33 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -123,12 +123,34 @@ theme.base = { Underlined = { fg = p.foam, style = 'underline' }, htmlArg = { fg = p.iris }, + htmlBold = { fg = p.text, style = 'bold' }, htmlEndTag = { fg = p.subtle }, + htmlH1 = { fg = p.love, style = 'bold' }, + htmlH2 = { fg = p.rose, style = 'bold' }, + htmlH3 = { fg = p.iris, style = 'bold' }, + htmlH4 = { fg = p.pine, style = 'bold' }, + htmlH5 = { fg = p.foam, style = 'bold' }, + htmlItalic = { fg = p.text, style = maybe_italic }, htmlLink = { fg = p.text }, htmlTag = { fg = p.subtle }, htmlTagN = { fg = p.text }, htmlTagName = { fg = p.foam }, + markdownLinkText = { fg = p.iris, style = 'underline' }, + markdownUrl = { fg = p.iris, style = 'underline' }, + mkdCode = { fg = p.foam, style = maybe_italic }, + mkdCodeDelimiter = { fg = p.rose }, + mkdCodeEnd = { fg = p.foam }, + mkdCodeStart = { fg = p.foam }, + mkdFootnotes = { fg = p.foam }, + mkdID = { fg = p.foam , style = 'underline' }, + mkdInlineURL = { fg = p.foam, style = 'underline' }, + mkdLink = { fg = p.rose , style = 'bold' }, + mkdLinkDef = { fg = p.rose , style = 'bold' }, + mkdListItemLine = { fg = p.text }, + mkdRule = { fg = p.subtle }, + mkdURL = { fg = p.foam, style = 'underline' }, + DiagnosticHint = { fg = groups.hint }, DiagnosticInfo = { fg = groups.info }, DiagnosticWarn = { fg = groups.warn }, From 21b041a50cf83c047bc9a3168b1ba986f4454342 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 8 Nov 2021 16:41:31 -0600 Subject: [PATCH 058/309] chore: format --- lua/rose-pine/theme.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 3f54f33..339a6b5 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -143,10 +143,10 @@ theme.base = { mkdCodeEnd = { fg = p.foam }, mkdCodeStart = { fg = p.foam }, mkdFootnotes = { fg = p.foam }, - mkdID = { fg = p.foam , style = 'underline' }, + mkdID = { fg = p.foam, style = 'underline' }, mkdInlineURL = { fg = p.foam, style = 'underline' }, - mkdLink = { fg = p.rose , style = 'bold' }, - mkdLinkDef = { fg = p.rose , style = 'bold' }, + mkdLink = { fg = p.rose, style = 'bold' }, + mkdLinkDef = { fg = p.rose, style = 'bold' }, mkdListItemLine = { fg = p.text }, mkdRule = { fg = p.subtle }, mkdURL = { fg = p.foam, style = 'underline' }, From cd176b07b01cfc343d585f8ef25427f3aa5c7873 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 8 Nov 2021 16:43:37 -0600 Subject: [PATCH 059/309] docs: add contributing section --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index 23b3bb9..776cf31 100644 --- a/readme.md +++ b/readme.md @@ -133,3 +133,10 @@ vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions'). vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('moon')]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('base')]], { noremap = true, silent = true }) ``` + +## Contributing + +We welcome and appreciate any help in creating a lovely experience for all. + +- [Get highlight groups under cursor](https://github.com/nvim-treesitter/playground#show-treesitter-and-syntax-highlight-groups-under-the-cursor) +- [Adding new highlight groups](https://github.com/rose-pine/neovim/issues/6#issuecomment-962466323) From b547d92b88e9330438233b3ff3944e046b0de33b Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 8 Nov 2021 16:44:45 -0600 Subject: [PATCH 060/309] feat: add `headings` to `vim.g.rose_pine_colors` --- lua/rose-pine/theme.lua | 17 ++++++++++++----- readme.md | 7 +++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 339a6b5..96a15ef 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -8,6 +8,13 @@ local groups = { info = user_colors.info or p.foam, warn = user_colors.warn or p.gold, error = user_colors.error or p.love, + headings = user_colors.headings or { + h1 = p.love, + h2 = p.rose, + h3 = p.iris, + h4 = p.pine, + h5 = p.foam, + }, } local theme = {} @@ -125,11 +132,11 @@ theme.base = { htmlArg = { fg = p.iris }, htmlBold = { fg = p.text, style = 'bold' }, htmlEndTag = { fg = p.subtle }, - htmlH1 = { fg = p.love, style = 'bold' }, - htmlH2 = { fg = p.rose, style = 'bold' }, - htmlH3 = { fg = p.iris, style = 'bold' }, - htmlH4 = { fg = p.pine, style = 'bold' }, - htmlH5 = { fg = p.foam, style = 'bold' }, + htmlH1 = { fg = groups.headings.h1, style = 'bold' }, + htmlH2 = { fg = groups.headings.h2, style = 'bold' }, + htmlH3 = { fg = groups.headings.h3, style = 'bold' }, + htmlH4 = { fg = groups.headings.h4, style = 'bold' }, + htmlH5 = { fg = groups.headings.h5, style = 'bold' }, htmlItalic = { fg = p.text, style = maybe_italic }, htmlLink = { fg = p.text }, htmlTag = { fg = p.subtle }, diff --git a/readme.md b/readme.md index 776cf31..490c6e9 100644 --- a/readme.md +++ b/readme.md @@ -99,6 +99,13 @@ vim.g.rose_pine_colors = { info = '#78ccc5', warn = '#f5c359', error = '#c75c6a', + headings = { + h1 = '#999999', + h2 = '#888888', + h3 = '#777777', + h4 = '#666666', + h5 = '#555555', + } } ``` From 7b5ba94aa9bf89fbe86e025b0d44930b6a932723 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 8 Nov 2021 16:50:51 -0600 Subject: [PATCH 061/309] fix: allow partial overrides for nested groups --- lua/rose-pine/theme.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 96a15ef..a912123 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -8,7 +8,7 @@ local groups = { info = user_colors.info or p.foam, warn = user_colors.warn or p.gold, error = user_colors.error or p.love, - headings = user_colors.headings or { + headings = { h1 = p.love, h2 = p.rose, h3 = p.iris, @@ -17,6 +17,12 @@ local groups = { }, } +groups.headings = vim.tbl_extend( + 'force', + groups.headings, + user_colors.headings or {} +) + local theme = {} local maybe_base = p.base local maybe_italic = 'italic' From 75ecde0bb299474131e451e7242ace61151625a3 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 19 Nov 2021 13:25:44 -0600 Subject: [PATCH 062/309] fix: float background mismatch --- lua/rose-pine/theme.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index a912123..4f9d5b0 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -164,6 +164,11 @@ theme.base = { mkdRule = { fg = p.subtle }, mkdURL = { fg = p.foam, style = 'underline' }, + -- Fix background mismatch if user sets custom float background + -- In LSP hover float: (paramater) + -- ^ ^ + typescriptParens = { bg = p.none }, + DiagnosticHint = { fg = groups.hint }, DiagnosticInfo = { fg = groups.info }, DiagnosticWarn = { fg = groups.warn }, From 38f3720c647b13c3682121b2ea12497d8d5ed194 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 19 Nov 2021 13:36:11 -0600 Subject: [PATCH 063/309] feat: add `NormalFloat` --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 4f9d5b0..9054f1d 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -67,7 +67,7 @@ theme.base = { MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, Normal = { fg = p.text, bg = maybe_base }, - -- NormalFloat = {}, + NormalFloat = { fg = p.text, bg = p.surface }, Pmenu = { fg = p.subtle, bg = p.surface }, PmenuSbar = { bg = p.overlay }, PmenuSel = { fg = p.text, bg = p.overlay }, From a00a30d7d6e3d3fb7c2d03b82ec207cedf6de186 Mon Sep 17 00:00:00 2001 From: Piers Olenski <1285419+piersolenski@users.noreply.github.com> Date: Sat, 20 Nov 2021 16:04:48 +0000 Subject: [PATCH 064/309] Add VimWiki support (#35) --- lua/rose-pine/theme.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 9054f1d..f688027 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -422,6 +422,20 @@ theme.plugins = { NeogitDiffContextHighlight = { bg = p.highlight }, NeogitHunkHeader = { bg = p.highlight }, NeogitHunkHeaderHighlight = { bg = p.highlight }, + + -- VimWiki + -- https://github.com/vimwiki/vimwiki + VimwikiHR = { fg = p.subtle }, + VimwikiHeader1 = { fg = p.foam, style = 'bold' }, + VimwikiHeader2 = { fg = p.foam, style = 'bold' }, + VimwikiHeader3 = { fg = p.foam, style = 'bold' }, + VimwikiHeader4 = { fg = p.foam, style = 'bold' }, + VimwikiHeader5 = { fg = p.foam, style = 'bold' }, + VimwikiHeader6 = { fg = p.foam, style = 'bold' }, + VimwikiHeaderChar = { fg = p.pine }, + VimwikiLink = { fg = p.rose }, + VimwikiList = { fg = p.iris }, + VimwikiNoExistsLink = { fg = p.love }, } return theme From bea1fa86c257ab33b95e24be9dda568f781c56fe Mon Sep 17 00:00:00 2001 From: Daniel Mathiot Date: Wed, 1 Dec 2021 00:31:36 +0100 Subject: [PATCH 065/309] feat: Add more highlights to nvim-cmp (#37) * feat: Add more highlights to nvim-cmp This should close #36. For information sake, the colors and the arrangement is very personal, and can be subject to changes. Feel free to complete the list of supported CmpItemKind from there: https://github.com/hrsh7th/nvim-cmp/blob/main/lua/cmp/types/lsp.lua#L108 * fix: Remove subtle hl for CmpItemKinds --- lua/rose-pine/theme.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index f688027..ea297b8 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -414,6 +414,12 @@ theme.plugins = { CmpItemAbbrMatch = { fg = p.text, style = 'bold' }, CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' }, CmpItemAbbrDeprecated = { fg = p.subtle, style = 'strikethrough' }, + CmpItemKindVariable = { fg = p.foam }, + CmpItemKindClass = { fg = p.gold }, + CmpItemKindInterface = { fg = p.gold }, + CmpItemKindFunction = { fg = p.iris }, + CmpItemKindMethod = { fg = p.iris }, + CmpItemKindSnippet = { fg = p.iris }, -- neogit -- https://github.com/TimUntersberger/neogit From 44065fcafe726bde87fee4f985b45b7792283424 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 1 Dec 2021 13:07:56 -0600 Subject: [PATCH 066/309] fix: improve highlight contrast closes #40 --- lua/rose-pine/palette.lua | 18 +++++++++--------- lua/rose-pine/theme.lua | 30 +++++++++++++++--------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index bf00deb..000d24f 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -11,9 +11,9 @@ local palette = { pine = '#31748f', foam = '#9ccfd8', iris = '#c4a7e7', - highlight = '#2a2837', - highlight_inactive = '#211f2d', - highlight_overlay = '#3a384a', + highlight_low = '#21202e', + highlight_med = '#403d52', + highlight_high = '#524f67', none = 'NONE', } @@ -34,9 +34,9 @@ then pine = '#286983', foam = '#56949f', iris = '#907aa9', - highlight = '#eee9e6', - highlight_inactive = '#f2ede9', - highlight_overlay = '#e4dfde', + highlight_low = '#f4ede8', + highlight_med = '#dfdad9', + highlight_high = '#cecacd', } elseif vim.g.rose_pine_variant == 'moon' @@ -55,9 +55,9 @@ then pine = '#3e8fb0', foam = '#9ccfd8', iris = '#c4a7e7', - highlight = '#312f44', - highlight_inactive = '#2a283d', - highlight_overlay = '#3f3c53', + highlight_low = '#2a283e', + highlight_med = '#44415a', + highlight_high = '#56526E', } end diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ea297b8..0eb7dda 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -41,12 +41,12 @@ if vim.g.rose_pine_bold_vertical_split_line then end theme.base = { - ColorColumn = { bg = p.highlight_overlay }, + ColorColumn = { bg = p.highlight_high }, Conceal = { bg = p.none }, -- Cursor = {}, - CursorColumn = { bg = p.highlight }, + CursorColumn = { bg = p.highlight_med }, -- CursorIM = {}, - CursorLine = { bg = p.highlight_inactive }, + CursorLine = { bg = p.highlight_low }, CursorLineNr = { fg = p.text }, DarkenedPanel = { bg = p.surface }, DarkenedStatusline = { bg = p.surface }, @@ -60,7 +60,7 @@ theme.base = { FloatBorder = { fg = p.subtle }, FoldColumn = {}, Folded = { fg = p.text, bg = p.surface }, - IncSearch = { bg = p.highlight }, + IncSearch = { bg = p.highlight_med }, LineNr = { fg = p.inactive }, MatchParen = { fg = p.text, bg = p.overlay }, -- ModeMsg = {}, @@ -74,7 +74,7 @@ theme.base = { PmenuThumb = { bg = p.inactive }, Question = { fg = p.gold }, -- QuickFixLine = {}, - Search = { fg = p.iris, bg = p.highlight_overlay }, + Search = { fg = p.iris, bg = p.highlight_high }, SpecialKey = { fg = p.foam }, SpellBad = { style = 'undercurl', sp = p.love }, SpellCap = { style = 'undercurl', sp = p.subtle }, @@ -90,7 +90,7 @@ theme.base = { TabLineSel = { fg = p.text, bg = p.inactive }, Title = { fg = p.text }, VertSplit = maybe_bold_vert_split, - Visual = { bg = p.highlight }, + Visual = { bg = p.highlight_med }, -- VisualNOS = {}, WarningMsg = { fg = p.gold }, -- Whitespace = {}, @@ -199,9 +199,9 @@ theme.base = { DiagnosticVirtualTextWarn = { fg = groups.warn }, DiagnosticVirtualTextError = { fg = groups.error }, - LspReferenceText = { fg = p.rose, bg = p.highlight }, - LspReferenceRead = { fg = p.rose, bg = p.highlight }, - LspReferenceWrite = { fg = p.rose, bg = p.highlight }, + LspReferenceText = { fg = p.rose, bg = p.highlight_med }, + LspReferenceRead = { fg = p.rose, bg = p.highlight_med }, + LspReferenceWrite = { fg = p.rose, bg = p.highlight_med }, --Lsp color groups for nvim 0.5.x LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' }, @@ -379,7 +379,7 @@ theme.plugins = { NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, NvimTreeImageFile = { fg = p.text }, - NvimTreeOpenedFile = { fg = p.text, bg = p.highlight }, + NvimTreeOpenedFile = { fg = p.text, bg = p.highlight_med }, NvimTreeOpenedFolderName = { fg = p.foam }, NvimTreeRootFolder = { fg = p.iris }, NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, @@ -423,11 +423,11 @@ theme.plugins = { -- neogit -- https://github.com/TimUntersberger/neogit - NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_overlay }, - NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_overlay }, - NeogitDiffContextHighlight = { bg = p.highlight }, - NeogitHunkHeader = { bg = p.highlight }, - NeogitHunkHeaderHighlight = { bg = p.highlight }, + NeogitDiffAddhighlight_med = { fg = p.foam, bg = p.highlight_high }, + NeogitDiffDeletehighlight_med = { fg = p.love, bg = p.highlight_high }, + NeogitDiffContexthighlight_med = { bg = p.highlight_med }, + NeogitHunkHeader = { bg = p.highlight_med }, + NeogitHunkHeaderhighlight_med = { bg = p.highlight_med }, -- VimWiki -- https://github.com/vimwiki/vimwiki From 876b18a78eaeb4a19d73d73ba476ae404d3baa50 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 1 Dec 2021 13:51:24 -0600 Subject: [PATCH 067/309] chore: format --- lua/rose-pine/palette.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 000d24f..985d321 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -57,7 +57,7 @@ then iris = '#c4a7e7', highlight_low = '#2a283e', highlight_med = '#44415a', - highlight_high = '#56526E', + highlight_high = '#56526e', } end From 8ce782f28294ac55d51fc4c92a954350ff514742 Mon Sep 17 00:00:00 2001 From: Devin <47056144+ikws4@users.noreply.github.com> Date: Thu, 2 Dec 2021 13:54:09 +0800 Subject: [PATCH 068/309] Fix neogit highlight and adjust the highlight contrast (#41) * fix: neogit highlight broken after #44065fc * feat(neogit): adjust highlight contrast --- lua/rose-pine/theme.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 0eb7dda..6d08482 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -423,11 +423,11 @@ theme.plugins = { -- neogit -- https://github.com/TimUntersberger/neogit - NeogitDiffAddhighlight_med = { fg = p.foam, bg = p.highlight_high }, - NeogitDiffDeletehighlight_med = { fg = p.love, bg = p.highlight_high }, - NeogitDiffContexthighlight_med = { bg = p.highlight_med }, - NeogitHunkHeader = { bg = p.highlight_med }, - NeogitHunkHeaderhighlight_med = { bg = p.highlight_med }, + NeogitDiffAddhighlight = { fg = p.foam, bg = p.highlight_med }, + NeogitDiffDeletehighlight = { fg = p.love, bg = p.highlight_med }, + NeogitDiffContexthighlight = { bg = p.highlight_low }, + NeogitHunkHeader = { bg = p.highlight_low }, + NeogitHunkHeaderhighlight = { bg = p.highlight_low }, -- VimWiki -- https://github.com/vimwiki/vimwiki From 21031bf9b2b8a9ec8e61e01207e4af76715d174b Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 1 Dec 2021 23:58:50 -0600 Subject: [PATCH 069/309] chore: format group name --- lua/rose-pine/theme.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 6d08482..23491ac 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -423,11 +423,11 @@ theme.plugins = { -- neogit -- https://github.com/TimUntersberger/neogit - NeogitDiffAddhighlight = { fg = p.foam, bg = p.highlight_med }, - NeogitDiffDeletehighlight = { fg = p.love, bg = p.highlight_med }, - NeogitDiffContexthighlight = { bg = p.highlight_low }, + NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med }, + NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_med }, + NeogitDiffContextHighlight = { bg = p.highlight_low }, NeogitHunkHeader = { bg = p.highlight_low }, - NeogitHunkHeaderhighlight = { bg = p.highlight_low }, + NeogitHunkHeaderHighlight = { bg = p.highlight_low }, -- VimWiki -- https://github.com/vimwiki/vimwiki From 4fa5912437e9bc1cf502a3a00ebe1c292c10488e Mon Sep 17 00:00:00 2001 From: Daniel Mathiot Date: Thu, 2 Dec 2021 18:33:09 +0100 Subject: [PATCH 070/309] Remove background for popups (#38) --- lua/rose-pine/theme.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 23491ac..ef92623 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -67,8 +67,8 @@ theme.base = { MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, Normal = { fg = p.text, bg = maybe_base }, - NormalFloat = { fg = p.text, bg = p.surface }, - Pmenu = { fg = p.subtle, bg = p.surface }, + NormalFloat = { fg = p.subtle }, + Pmenu = { fg = p.subtle }, PmenuSbar = { bg = p.overlay }, PmenuSel = { fg = p.text, bg = p.overlay }, PmenuThumb = { bg = p.inactive }, @@ -410,6 +410,7 @@ theme.plugins = { -- nvim-cmp -- https://github.com/hrsh7th/nvim-cmp CmpItemKind = { fg = p.iris }, + CmpItemMenu = { fg = p.subtle }, CmpItemAbbr = { fg = p.subtle }, CmpItemAbbrMatch = { fg = p.text, style = 'bold' }, CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' }, From ddb4959e276b23c1d85d6f999609b61f726e60f7 Mon Sep 17 00:00:00 2001 From: Joonas Korhonen Date: Fri, 3 Dec 2021 16:15:12 +0200 Subject: [PATCH 071/309] Link legacy diff groups for git.vim and diff.vim syntax (#42) --- lua/rose-pine/theme.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ef92623..1b5c497 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -54,6 +54,9 @@ theme.base = { DiffChange = { fg = p.rose }, DiffDelete = { fg = p.love }, DiffText = { fg = p.text }, + diffAdded = { link = 'DiffAdd' }, + diffChanged = { link = 'DiffChange' }, + diffRemoved = { link = 'DiffDelete' }, Directory = { fg = p.foam, bg = p.none }, -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, From f712b0610135e63eaaf23ffa2728b96bc334b79d Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:29:42 -0600 Subject: [PATCH 072/309] refactor: palette --- lua/rose-pine/palette.lua | 91 ++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 985d321..e73caee 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -1,48 +1,22 @@ -local palette = { - base = '#191724', - surface = '#1f1d2e', - overlay = '#26233a', - inactive = '#555169', - subtle = '#6e6a86', - text = '#e0def4', - love = '#eb6f92', - gold = '#f6c177', - rose = '#ebbcba', - pine = '#31748f', - foam = '#9ccfd8', - iris = '#c4a7e7', - highlight_low = '#21202e', - highlight_med = '#403d52', - highlight_high = '#524f67', - none = 'NONE', -} - -if - vim.g.rose_pine_variant == 'dawn' - or vim.g.rose_pine_variant == 'rose-pine-dawn' -then - palette = { - base = '#faf4ed', - surface = '#fffaf3', - overlay = '#f2e9de', - inactive = '#9893a5', +local variants = { + main = { + base = '#191724', + surface = '#1f1d2e', + overlay = '#26233a', + inactive = '#555169', subtle = '#6e6a86', - text = '#575279', - love = '#b4637a', - gold = '#ea9d34', - rose = '#d7827e', - pine = '#286983', - foam = '#56949f', - iris = '#907aa9', - highlight_low = '#f4ede8', - highlight_med = '#dfdad9', - highlight_high = '#cecacd', - } -elseif - vim.g.rose_pine_variant == 'moon' - or vim.g.rose_pine_variant == 'rose-pine-moon' -then - palette = { + text = '#e0def4', + love = '#eb6f92', + gold = '#f6c177', + rose = '#ebbcba', + pine = '#31748f', + foam = '#9ccfd8', + iris = '#c4a7e7', + highlight_low = '#21202e', + highlight_med = '#403d52', + highlight_high = '#524f67', + }, + moon = { base = '#232136', surface = '#2a273f', overlay = '#393552', @@ -58,7 +32,34 @@ then highlight_low = '#2a283e', highlight_med = '#44415a', highlight_high = '#56526e', - } + }, + dawn = { + base = '#faf4ed', + surface = '#fffaf3', + overlay = '#f2e9de', + inactive = '#9893a5', + subtle = '#6e6a86', + text = '#575279', + love = '#b4637a', + gold = '#ea9d34', + rose = '#d7827e', + pine = '#286983', + foam = '#56949f', + iris = '#907aa9', + highlight_low = '#f4ede8', + highlight_med = '#dfdad9', + highlight_high = '#cecacd', + }, +} + +local palette = variants.main + +if string.match(vim.g.rose_pine_variant or '', 'moon') then + palette = variants.moon +elseif string.match(vim.g.rose_pine_variant or '', 'dawn') then + palette = variants.dawn end +vim.tbl_deep_extend('force', palette, { none = 'NONE' }) + return palette From 981ffd5e1646b20291bdeab6563b8b227bb4f901 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:30:47 -0600 Subject: [PATCH 073/309] refactor: simplify init --- colors/rose-pine.vim | 13 ++++----- lua/rose-pine/init.lua | 49 +++++++++++++++++++++++++++++--- lua/rose-pine/util.lua | 63 ------------------------------------------ 3 files changed, 50 insertions(+), 75 deletions(-) delete mode 100644 lua/rose-pine/util.lua diff --git a/colors/rose-pine.vim b/colors/rose-pine.vim index 4b06354..af1ddba 100644 --- a/colors/rose-pine.vim +++ b/colors/rose-pine.vim @@ -1,9 +1,6 @@ -lua << EOF -package.loaded['rose-pine'] = nil -package.loaded['rose-pine.functions'] = nil -package.loaded['rose-pine.palette'] = nil -package.loaded['rose-pine.theme'] = nil -package.loaded['rose-pine.util'] = nil +lua package.loaded['rose-pine'] = nil +lua package.loaded['rose-pine.config'] = nil +lua package.loaded['rose-pine.palette'] = nil +lua package.loaded['rose-pine.theme'] = nil -require('rose-pine').set() -EOF +lua require('rose-pine').colorscheme() diff --git a/lua/rose-pine/init.lua b/lua/rose-pine/init.lua index 10a37b0..99d59c5 100644 --- a/lua/rose-pine/init.lua +++ b/lua/rose-pine/init.lua @@ -1,9 +1,50 @@ -local util = require('rose-pine.util') - local M = {} -function M.set() - util.load() +function M.colorscheme() + if vim.g.colors_name then + vim.cmd('hi clear') + end + + vim.opt.termguicolors = true + vim.g.colors_name = 'rose-pine' + + -- Match terminal theme if no variant is set + if vim.g.rose_pine_variant == nil and vim.o.background == 'light' then + vim.g.rose_pine_variant = 'dawn' + elseif vim.g.rose_pine_variant == 'dawn' then + vim.o.background = 'light' + end + + ---@param group string + ---@param color table + local function highlight(group, color) + local style = color.style and 'gui=' .. color.style or 'gui=NONE' + local fg = color.fg and 'guifg=' .. color.fg or 'guifg=NONE' + local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE' + local sp = color.sp and 'guisp=' .. color.sp or '' + + local hl = 'highlight ' + .. group + .. ' ' + .. style + .. ' ' + .. fg + .. ' ' + .. bg + .. ' ' + .. sp + + vim.cmd(hl) + if color.link then + vim.cmd('highlight! link ' .. group .. ' ' .. color.link) + end + end + + for group, colors in pairs(require('rose-pine.theme')) do + highlight(group, colors) + end + + require('rose-pine.galaxyline.theme') end return M diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua deleted file mode 100644 index ba7b117..0000000 --- a/lua/rose-pine/util.lua +++ /dev/null @@ -1,63 +0,0 @@ -local util = {} - -util.highlight = function(group, color) - local style = color.style and 'gui=' .. color.style or 'gui=NONE' - local fg = color.fg and 'guifg=' .. color.fg or 'guifg=NONE' - local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE' - local sp = color.sp and 'guisp=' .. color.sp or '' - - local hl = 'highlight ' - .. group - .. ' ' - .. style - .. ' ' - .. fg - .. ' ' - .. bg - .. ' ' - .. sp - - vim.cmd(hl) - if color.link then - vim.cmd('highlight! link ' .. group .. ' ' .. color.link) - end -end - -function util.load() - if vim.g.colors_name then - vim.cmd('hi clear') - end - - vim.o.termguicolors = true - vim.g.colors_name = 'rose-pine' - - if vim.o.background == 'light' and vim.g.rose_pine_variant == nil then - vim.g.rose_pine_variant = 'dawn' - elseif - vim.g.rose_pine_variant == 'dawn' - or vim.g.rose_pine_variant == 'rose-pine-dawn' - then - vim.o.background = 'light' - end - - local theme = require('rose-pine.theme') - - theme.load_terminal() - - for group, colors in pairs(theme.base) do - util.highlight(group, colors) - end - - for group, colors in pairs(theme.treesitter) do - util.highlight(group, colors) - end - - for group, colors in pairs(theme.plugins) do - util.highlight(group, colors) - end - - -- Load galaxyline theme - require("rose-pine.galaxyline.theme") -end - -return util From dd00cb8de16378ab50c25591742666b93b5b7566 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:32:08 -0600 Subject: [PATCH 074/309] chore!: rename functions - `rose-pine.functions.select_variant` -> `rose-pine.set` - `rose-pine.functions.toggle_variant` -> `rose-pine.toggle` --- lua/rose-pine/functions.lua | 35 ----------------------------------- lua/rose-pine/init.lua | 24 ++++++++++++++++++++++++ readme.md | 28 +++++++++++++++------------- 3 files changed, 39 insertions(+), 48 deletions(-) delete mode 100644 lua/rose-pine/functions.lua diff --git a/lua/rose-pine/functions.lua b/lua/rose-pine/functions.lua deleted file mode 100644 index 1e20594..0000000 --- a/lua/rose-pine/functions.lua +++ /dev/null @@ -1,35 +0,0 @@ -local select_variant = function(variant) - vim.g.rose_pine_variant = variant - local formatted_variant = '' - if variant == 'base' then - formatted_variant = '' - else - formatted_variant = variant:sub(1, 1):upper() .. variant:sub(2) - end - print('Rosé Pine', formatted_variant) - vim.cmd([[colorscheme rose-pine]]) -end - -local toggle_variant = function(variants) - local options = variants or { 'base', 'moon', 'dawn' } - local index = {} - for k, v in pairs(options) do - index[v] = k - end - - if vim.g.rose_pine_variant_switch == nil then - -- Ensure theme toggles from correct position - vim.g.rose_pine_variant_switch = index[vim.g.rose_pine_variant] or 0 - end - - vim.g.rose_pine_variant_switch = ( - vim.g.rose_pine_variant_switch % table.getn(options) - ) + 1 - - select_variant(options[vim.g.rose_pine_variant_switch]) -end - -return { - select_variant = select_variant, - toggle_variant = toggle_variant, -} diff --git a/lua/rose-pine/init.lua b/lua/rose-pine/init.lua index 99d59c5..f07ee01 100644 --- a/lua/rose-pine/init.lua +++ b/lua/rose-pine/init.lua @@ -47,4 +47,28 @@ function M.colorscheme() require('rose-pine.galaxyline.theme') end +function M.set(variant) + vim.g.rose_pine_variant = variant + vim.cmd([[colorscheme rose-pine]]) +end + +function M.toggle(variants) + variants = variants or { 'main', 'moon', 'dawn' } + + local index = {} + for k, v in pairs(variants) do + index[v] = k + end + + if vim.g.rose_pine_current_variant == nil then + vim.g.rose_pine_current_variant = index[vim.g.rose_pine_variant] or 0 + end + + vim.g.rose_pine_current_variant = ( + vim.g.rose_pine_current_variant % #variants + ) + 1 + + M.set(variants[vim.g.rose_pine_current_variant]) +end + return M diff --git a/readme.md b/readme.md index 490c6e9..92e921e 100644 --- a/readme.md +++ b/readme.md @@ -119,26 +119,28 @@ vim.cmd('colorscheme rose-pine') ## Functions ```lua --- Toggle between the three variants -require('rose-pine.functions').toggle_variant() +-- Toggle between all variants +require('rose-pine').toggle() --- Toggle between base and dawn -require('rose-pine.functions').toggle_variant({'base', 'dawn'}) +-- Toggle between some variants +require('rose-pine').toggle({'main', 'dawn'}) --- Switch to specified variant -require('rose-pine.functions').select_variant('moon') +-- Set specific variant +require('rose-pine').set('moon') ``` ## Keymaps -```lua --- Toggle variant -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').toggle_variant()]], { noremap = true, silent = true }) +> These are only suggestions; no keymaps are set by the theme --- Select each variant -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('dawn')]], { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('moon')]], { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('base')]], { noremap = true, silent = true }) +```lua +-- Toggle variants +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').toggle()]], { noremap = true, silent = true }) + +-- Set variant +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('main')]], { noremap = true, silent = true }) +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('moon')]], { noremap = true, silent = true }) +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('dawn')]], { noremap = true, silent = true }) ``` ## Contributing From d625d91bb649080e2b1e4532dda96c7ee0865528 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:33:53 -0600 Subject: [PATCH 075/309] docs: update options --- readme.md | 57 +++++++++++++++++++++---------------------------------- 1 file changed, 22 insertions(+), 35 deletions(-) diff --git a/readme.md b/readme.md index 92e921e..4434eef 100644 --- a/readme.md +++ b/readme.md @@ -69,49 +69,36 @@ use({ ## Options -> Options should be set before colorscheme - -### Interface +> Options should be set **before** colorscheme ```lua --- Set variant --- Defaults to 'dawn' if vim background is light --- @usage 'base' | 'moon' | 'dawn' | 'rose-pine[-moon][-dawn]' -vim.g.rose_pine_variant = 'base' +-- Set theme variant +-- Matches terminal theme if unset +-- @usage 'main' | 'moon' | 'dawn' +vim.g.rose_pine_variant = 'dawn' --- Disable italics +vim.g.rose_pine_bold_vertical_split_line = true +vim.g.rose_pine_disable_background = false vim.g.rose_pine_disable_italics = false --- Use terminal background -vim.g.rose_pine_disable_background = false - --- Use bold vertical split line -vim.g.rose_pine_bold_vertical_split_line = true -``` - -### Custom colours - -```lua +local p = require('rose-pine.palette') vim.g.rose_pine_colors = { - punctuation = '#fa8072', - comment = '#ffffff', - hint = '#9745be', - info = '#78ccc5', - warn = '#f5c359', - error = '#c75c6a', - headings = { - h1 = '#999999', - h2 = '#888888', - h3 = '#777777', - h4 = '#666666', - h5 = '#555555', - } + punctuation = p.subtle, + comment = p.subtle, + hint = p.iris, + info = p.foam, + warn = p.gold, + error = p.love, + headings = { + h1 = p.foam, + h2 = p.foam, + h3 = p.foam, + h4 = p.foam, + h5 = p.foam, + h6 = p.foam, + }, } -``` -Be sure to set the colorscheme _after_ options - -```lua -- Set colorscheme after options vim.cmd('colorscheme rose-pine') ``` From 4a43244c6a3ecf33dd78ae6b1a7dd3487a9c577a Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:36:08 -0600 Subject: [PATCH 076/309] chore: update config with shared headings --- lua/rose-pine/config.lua | 49 ++++++++++ lua/rose-pine/theme.lua | 198 +++++++++++++++------------------------ 2 files changed, 127 insertions(+), 120 deletions(-) create mode 100644 lua/rose-pine/config.lua diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua new file mode 100644 index 0000000..668ade7 --- /dev/null +++ b/lua/rose-pine/config.lua @@ -0,0 +1,49 @@ +local palette = require('rose-pine.palette') + +local config = { + bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false, + no_background = vim.g.rose_pine_disable_background or false, + no_italics = vim.g.rose_pine_disable_italics or false, + colors = { + punctuation = palette.subtle, + comment = palette.subtle, + hint = palette.iris, + info = palette.foam, + warn = palette.gold, + error = palette.love, + + -- TODO: Expose these once matched with syntax and cmp kind + -- variable = '', + -- class = '', + -- interface = '', + -- ['function'] = '', + -- method = '', + + ---@type string|table + headings = { + h1 = palette.foam, + h2 = palette.foam, + h3 = palette.foam, + h4 = palette.foam, + h5 = palette.foam, + h6 = palette.foam, + }, + }, +} + +local colors = vim.g.rose_pine_colors or {} + +if type(colors.headings) == 'string' then + colors.headings = { + h1 = colors.headings, + h2 = colors.headings, + h3 = colors.headings, + h4 = colors.headings, + h5 = colors.headings, + h6 = colors.headings, + } +end + +config.colors = vim.tbl_deep_extend('force', config.colors, colors) + +return config diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ef92623..03e2719 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,46 +1,24 @@ +local config = require('rose-pine.config') local p = require('rose-pine.palette') -local user_colors = vim.g.rose_pine_colors or {} -local groups = { - punctuation = user_colors.punctuation or p.subtle, - comment = user_colors.comment or p.subtle, - hint = user_colors.hint or p.iris, - info = user_colors.info or p.foam, - warn = user_colors.warn or p.gold, - error = user_colors.error or p.love, - headings = { - h1 = p.love, - h2 = p.rose, - h3 = p.iris, - h4 = p.pine, - h5 = p.foam, - }, -} - -groups.headings = vim.tbl_extend( - 'force', - groups.headings, - user_colors.headings or {} -) - -local theme = {} +-- TODO: Refactor `maybe` logic local maybe_base = p.base local maybe_italic = 'italic' local maybe_bold_vert_split = { fg = p.overlay } -if vim.g.rose_pine_disable_background then - maybe_base = p.none -end - -if vim.g.rose_pine_disable_italics then - maybe_italic = nil -end - -if vim.g.rose_pine_bold_vertical_split_line then +if config.bold_vert_split then maybe_bold_vert_split = { fg = p.surface, bg = p.surface } end -theme.base = { +if config.no_background then + maybe_base = p.none +end + +if config.no_italics then + maybe_italic = nil +end + +local theme = { ColorColumn = { bg = p.highlight_high }, Conceal = { bg = p.none }, -- Cursor = {}, @@ -63,7 +41,7 @@ theme.base = { IncSearch = { bg = p.highlight_med }, LineNr = { fg = p.inactive }, MatchParen = { fg = p.text, bg = p.overlay }, - -- ModeMsg = {}, + ModeMsg = { fg = p.subtle }, MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, Normal = { fg = p.text, bg = maybe_base }, @@ -99,7 +77,7 @@ theme.base = { Boolean = { fg = p.gold }, Character = { fg = p.gold }, Comment = { - fg = groups.comment, + fg = config.colors.comment, style = maybe_italic, }, Conditional = { fg = p.pine }, @@ -138,11 +116,11 @@ theme.base = { htmlArg = { fg = p.iris }, htmlBold = { fg = p.text, style = 'bold' }, htmlEndTag = { fg = p.subtle }, - htmlH1 = { fg = groups.headings.h1, style = 'bold' }, - htmlH2 = { fg = groups.headings.h2, style = 'bold' }, - htmlH3 = { fg = groups.headings.h3, style = 'bold' }, - htmlH4 = { fg = groups.headings.h4, style = 'bold' }, - htmlH5 = { fg = groups.headings.h5, style = 'bold' }, + htmlH1 = { fg = config.colors.headings.h1, style = 'bold' }, + htmlH2 = { fg = config.colors.headings.h2, style = 'bold' }, + htmlH3 = { fg = config.colors.headings.h3, style = 'bold' }, + htmlH4 = { fg = config.colors.headings.h4, style = 'bold' }, + htmlH5 = { fg = config.colors.headings.h5, style = 'bold' }, htmlItalic = { fg = p.text, style = maybe_italic }, htmlLink = { fg = p.text }, htmlTag = { fg = p.subtle }, @@ -169,59 +147,54 @@ theme.base = { -- ^ ^ typescriptParens = { bg = p.none }, - DiagnosticHint = { fg = groups.hint }, - DiagnosticInfo = { fg = groups.info }, - DiagnosticWarn = { fg = groups.warn }, - DiagnosticError = { fg = groups.error }, - - DiagnosticDefaultHint = { fg = groups.hint }, - DiagnosticDefaultInfo = { fg = groups.info }, - DiagnosticDefaultWarn = { fg = groups.warn }, - DiagnosticDefaultError = { fg = groups.error }, - - DiagnosticFloatingHint = { fg = groups.hint }, - DiagnosticFloatingInfo = { fg = groups.info }, - DiagnosticFloatingWarn = { fg = groups.warn }, - DiagnosticFloatingError = { fg = groups.error }, - - DiagnosticSignHint = { fg = groups.hint }, - DiagnosticSignInfo = { fg = groups.info }, - DiagnosticSignWarn = { fg = groups.warn }, - DiagnosticSignError = { fg = groups.error }, - - DiagnosticUnderlineHint = { style = 'undercurl', sp = groups.hint }, - DiagnosticUnderlineInfo = { style = 'undercurl', sp = groups.info }, - DiagnosticUnderlineWarn = { style = 'undercurl', sp = groups.warn }, - DiagnosticUnderlineError = { style = 'undercurl', sp = groups.error }, - - DiagnosticVirtualTextHint = { fg = groups.hint }, - DiagnosticVirtualTextInfo = { fg = groups.info }, - DiagnosticVirtualTextWarn = { fg = groups.warn }, - DiagnosticVirtualTextError = { fg = groups.error }, + DiagnosticHint = { fg = config.colors.hint }, + DiagnosticInfo = { fg = config.colors.info }, + DiagnosticWarn = { fg = config.colors.warn }, + DiagnosticError = { fg = config.colors.error }, + DiagnosticDefaultHint = { fg = config.colors.hint }, + DiagnosticDefaultInfo = { fg = config.colors.info }, + DiagnosticDefaultWarn = { fg = config.colors.warn }, + DiagnosticDefaultError = { fg = config.colors.error }, + DiagnosticFloatingHint = { fg = config.colors.hint }, + DiagnosticFloatingInfo = { fg = config.colors.info }, + DiagnosticFloatingWarn = { fg = config.colors.warn }, + DiagnosticFloatingError = { fg = config.colors.error }, + DiagnosticSignHint = { fg = config.colors.hint }, + DiagnosticSignInfo = { fg = config.colors.info }, + DiagnosticSignWarn = { fg = config.colors.warn }, + DiagnosticSignError = { fg = config.colors.error }, + DiagnosticUnderlineHint = { style = 'undercurl', sp = config.colors.hint }, + DiagnosticUnderlineInfo = { style = 'undercurl', sp = config.colors.info }, + DiagnosticUnderlineWarn = { style = 'undercurl', sp = config.colors.warn }, + DiagnosticUnderlineError = { + style = 'undercurl', + sp = config.colors.error, + }, + DiagnosticVirtualTextHint = { fg = config.colors.hint }, + DiagnosticVirtualTextInfo = { fg = config.colors.info }, + DiagnosticVirtualTextWarn = { fg = config.colors.warn }, + DiagnosticVirtualTextError = { fg = config.colors.error }, LspReferenceText = { fg = p.rose, bg = p.highlight_med }, LspReferenceRead = { fg = p.rose, bg = p.highlight_med }, LspReferenceWrite = { fg = p.rose, bg = p.highlight_med }, - --Lsp color groups for nvim 0.5.x + -- TODO: Deprecate in favour of 0.6.0 groups LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' }, LspDiagnosticsDefaultWarning = { link = 'DiagnosticDefaultWarn' }, LspDiagnosticsFloatingWarning = { link = 'DiagnosticFloatingWarn' }, LspDiagnosticsVirtualTextWarning = { link = 'DiagnosticVirtualTextWarn' }, LspDiagnosticsUnderlineWarning = { link = 'DiagnosticUnderlineWarn' }, - LspDiagnosticsSignHint = { link = 'DiagnosticSignHint' }, LspDiagnosticsDefaultHint = { link = 'DiagnosticDefaultHint' }, LspDiagnosticsVirtualTextHint = { link = 'DiagnosticFloatingHint' }, LspDiagnosticsFloatingHint = { link = 'DiagnosticVirtualTextHint' }, LspDiagnosticsUnderlineHint = { link = 'DiagnosticUnderlineHint' }, - LspDiagnosticsSignError = { link = 'DiagnosticSignError' }, LspDiagnosticsDefaultError = { link = 'DiagnosticDefaultError' }, LspDiagnosticsFloatingError = { link = 'DiagnosticFloatingError' }, LspDiagnosticsVirtualTextError = { link = 'DiagnosticVirtualTextError' }, LspDiagnosticsUnderlineError = { link = 'DiagnosticUnderlineError' }, - LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' }, LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' }, LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' }, @@ -236,42 +209,13 @@ theme.base = { RedrawDebugRecompose = { fg = '#ffffff', bg = p.love }, NvimInternalError = { fg = '#ffffff', bg = p.love }, -} -function theme.load_terminal() - -- black - vim.g.terminal_color_0 = p.overlay - vim.g.terminal_color_8 = p.subtle - -- red - vim.g.terminal_color_1 = p.love - vim.g.terminal_color_9 = p.love - -- green - vim.g.terminal_color_2 = p.pine - vim.g.terminal_color_10 = p.pine - -- yellow - vim.g.terminal_color_3 = p.gold - vim.g.terminal_color_11 = p.gold - -- blue - vim.g.terminal_color_4 = p.foam - vim.g.terminal_color_12 = p.foam - -- magenta - vim.g.terminal_color_5 = p.iris - vim.g.terminal_color_13 = p.iris - -- cyan - vim.g.terminal_color_6 = p.rose - vim.g.terminal_color_14 = p.rose - -- white - vim.g.terminal_color_7 = p.text - vim.g.terminal_color_15 = p.text -end - -theme.treesitter = { -- TSAnnotation = {}, -- TSAttribute = {}, TSBoolean = { fg = p.rose }, -- TSCharacter = {}, TSComment = { - fg = groups.comment, + fg = config.colors.comment, style = maybe_italic, }, -- TSConditional = {}, @@ -307,9 +251,9 @@ theme.treesitter = { fg = p.iris, style = maybe_italic, }, - TSPunctBracket = { fg = groups.punctuation }, - TSPunctDelimiter = { fg = groups.punctuation }, - TSPunctSpecial = { fg = groups.punctuation }, + TSPunctBracket = { fg = config.colors.punctuation }, + TSPunctDelimiter = { fg = config.colors.punctuation }, + TSPunctSpecial = { fg = config.colors.punctuation }, -- TSRepeat = {}, -- TSStrike = {}, TSString = { fg = p.gold }, @@ -329,9 +273,7 @@ theme.treesitter = { style = maybe_italic, }, TSVariableBuiltin = { fg = p.love }, -} -theme.plugins = { -- barbar.nvim -- https://github.com/romgrk/barbar.nvim BufferTabpageFill = { fg = p.base, bg = p.base }, @@ -367,14 +309,12 @@ theme.plugins = { -- nvim-tree.lua -- https://github.com/kyazdani42/nvim-tree.lua NvimTreeNormal = { fg = p.text }, - 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 }, NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, @@ -383,7 +323,6 @@ theme.plugins = { NvimTreeOpenedFolderName = { fg = p.foam }, NvimTreeRootFolder = { fg = p.iris }, NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, - NvimTreeGitDeleted = { fg = p.love }, NvimTreeGitDirty = { fg = p.rose }, NvimTreeGitIgnored = { fg = p.subtle }, @@ -391,7 +330,6 @@ theme.plugins = { NvimTreeGitNew = { fg = p.foam }, NvimTreeGitRenamed = { fg = p.pine }, NvimTreeGitStaged = { fg = p.iris }, - NvimTreeWindowPicker = { fg = p.base, bg = p.iris }, -- which-key.nvim @@ -425,7 +363,10 @@ theme.plugins = { -- neogit -- https://github.com/TimUntersberger/neogit NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med }, - NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_med }, + NeogitDiffDeleteHighlight = { + fg = p.love, + bg = p.highlight_med, + }, NeogitDiffContextHighlight = { bg = p.highlight_low }, NeogitHunkHeader = { bg = p.highlight_low }, NeogitHunkHeaderHighlight = { bg = p.highlight_low }, @@ -433,16 +374,33 @@ theme.plugins = { -- VimWiki -- https://github.com/vimwiki/vimwiki VimwikiHR = { fg = p.subtle }, - VimwikiHeader1 = { fg = p.foam, style = 'bold' }, - VimwikiHeader2 = { fg = p.foam, style = 'bold' }, - VimwikiHeader3 = { fg = p.foam, style = 'bold' }, - VimwikiHeader4 = { fg = p.foam, style = 'bold' }, - VimwikiHeader5 = { fg = p.foam, style = 'bold' }, - VimwikiHeader6 = { fg = p.foam, style = 'bold' }, + VimwikiHeader1 = { fg = config.colors.headings.h1, style = 'bold' }, + VimwikiHeader2 = { fg = config.colors.headings.h2, style = 'bold' }, + VimwikiHeader3 = { fg = config.colors.headings.h3, style = 'bold' }, + VimwikiHeader4 = { fg = config.colors.headings.h4, style = 'bold' }, + VimwikiHeader5 = { fg = config.colors.headings.h5, style = 'bold' }, + VimwikiHeader6 = { fg = config.colors.headings.h6, style = 'bold' }, VimwikiHeaderChar = { fg = p.pine }, VimwikiLink = { fg = p.rose }, VimwikiList = { fg = p.iris }, VimwikiNoExistsLink = { fg = p.love }, } +vim.g.terminal_color_0 = p.overlay -- black +vim.g.terminal_color_8 = p.subtle -- bright black +vim.g.terminal_color_1 = p.love -- red +vim.g.terminal_color_9 = p.love -- bright red +vim.g.terminal_color_2 = p.pine -- green +vim.g.terminal_color_10 = p.pine -- bright green +vim.g.terminal_color_3 = p.gold -- yellow +vim.g.terminal_color_11 = p.gold -- bright yellow +vim.g.terminal_color_4 = p.foam -- blue +vim.g.terminal_color_12 = p.foam -- bright blue +vim.g.terminal_color_5 = p.iris -- magenta +vim.g.terminal_color_13 = p.iris -- bright magenta +vim.g.terminal_color_6 = p.rose -- cyan +vim.g.terminal_color_14 = p.rose -- bright cyan +vim.g.terminal_color_7 = p.text -- white +vim.g.terminal_color_15 = p.text -- bright white + return theme From e6e25af0385f4517f58b491026c180d04c95cf32 Mon Sep 17 00:00:00 2001 From: not Date: Fri, 3 Dec 2021 09:38:34 -0600 Subject: [PATCH 077/309] Refactor structure (#43) * refactor: palette * refactor: simplify init * chore!: rename functions - `rose-pine.functions.select_variant` -> `rose-pine.set` - `rose-pine.functions.toggle_variant` -> `rose-pine.toggle` * docs: update options * chore: update config with shared headings --- colors/rose-pine.vim | 13 +-- lua/rose-pine/config.lua | 49 +++++++++ lua/rose-pine/functions.lua | 35 ------- lua/rose-pine/init.lua | 73 ++++++++++++- lua/rose-pine/palette.lua | 91 +++++++++-------- lua/rose-pine/theme.lua | 198 ++++++++++++++---------------------- lua/rose-pine/util.lua | 63 ------------ readme.md | 85 +++++++--------- 8 files changed, 284 insertions(+), 323 deletions(-) create mode 100644 lua/rose-pine/config.lua delete mode 100644 lua/rose-pine/functions.lua delete mode 100644 lua/rose-pine/util.lua diff --git a/colors/rose-pine.vim b/colors/rose-pine.vim index 4b06354..af1ddba 100644 --- a/colors/rose-pine.vim +++ b/colors/rose-pine.vim @@ -1,9 +1,6 @@ -lua << EOF -package.loaded['rose-pine'] = nil -package.loaded['rose-pine.functions'] = nil -package.loaded['rose-pine.palette'] = nil -package.loaded['rose-pine.theme'] = nil -package.loaded['rose-pine.util'] = nil +lua package.loaded['rose-pine'] = nil +lua package.loaded['rose-pine.config'] = nil +lua package.loaded['rose-pine.palette'] = nil +lua package.loaded['rose-pine.theme'] = nil -require('rose-pine').set() -EOF +lua require('rose-pine').colorscheme() diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua new file mode 100644 index 0000000..668ade7 --- /dev/null +++ b/lua/rose-pine/config.lua @@ -0,0 +1,49 @@ +local palette = require('rose-pine.palette') + +local config = { + bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false, + no_background = vim.g.rose_pine_disable_background or false, + no_italics = vim.g.rose_pine_disable_italics or false, + colors = { + punctuation = palette.subtle, + comment = palette.subtle, + hint = palette.iris, + info = palette.foam, + warn = palette.gold, + error = palette.love, + + -- TODO: Expose these once matched with syntax and cmp kind + -- variable = '', + -- class = '', + -- interface = '', + -- ['function'] = '', + -- method = '', + + ---@type string|table + headings = { + h1 = palette.foam, + h2 = palette.foam, + h3 = palette.foam, + h4 = palette.foam, + h5 = palette.foam, + h6 = palette.foam, + }, + }, +} + +local colors = vim.g.rose_pine_colors or {} + +if type(colors.headings) == 'string' then + colors.headings = { + h1 = colors.headings, + h2 = colors.headings, + h3 = colors.headings, + h4 = colors.headings, + h5 = colors.headings, + h6 = colors.headings, + } +end + +config.colors = vim.tbl_deep_extend('force', config.colors, colors) + +return config diff --git a/lua/rose-pine/functions.lua b/lua/rose-pine/functions.lua deleted file mode 100644 index 1e20594..0000000 --- a/lua/rose-pine/functions.lua +++ /dev/null @@ -1,35 +0,0 @@ -local select_variant = function(variant) - vim.g.rose_pine_variant = variant - local formatted_variant = '' - if variant == 'base' then - formatted_variant = '' - else - formatted_variant = variant:sub(1, 1):upper() .. variant:sub(2) - end - print('Rosé Pine', formatted_variant) - vim.cmd([[colorscheme rose-pine]]) -end - -local toggle_variant = function(variants) - local options = variants or { 'base', 'moon', 'dawn' } - local index = {} - for k, v in pairs(options) do - index[v] = k - end - - if vim.g.rose_pine_variant_switch == nil then - -- Ensure theme toggles from correct position - vim.g.rose_pine_variant_switch = index[vim.g.rose_pine_variant] or 0 - end - - vim.g.rose_pine_variant_switch = ( - vim.g.rose_pine_variant_switch % table.getn(options) - ) + 1 - - select_variant(options[vim.g.rose_pine_variant_switch]) -end - -return { - select_variant = select_variant, - toggle_variant = toggle_variant, -} diff --git a/lua/rose-pine/init.lua b/lua/rose-pine/init.lua index 10a37b0..f07ee01 100644 --- a/lua/rose-pine/init.lua +++ b/lua/rose-pine/init.lua @@ -1,9 +1,74 @@ -local util = require('rose-pine.util') - local M = {} -function M.set() - util.load() +function M.colorscheme() + if vim.g.colors_name then + vim.cmd('hi clear') + end + + vim.opt.termguicolors = true + vim.g.colors_name = 'rose-pine' + + -- Match terminal theme if no variant is set + if vim.g.rose_pine_variant == nil and vim.o.background == 'light' then + vim.g.rose_pine_variant = 'dawn' + elseif vim.g.rose_pine_variant == 'dawn' then + vim.o.background = 'light' + end + + ---@param group string + ---@param color table + local function highlight(group, color) + local style = color.style and 'gui=' .. color.style or 'gui=NONE' + local fg = color.fg and 'guifg=' .. color.fg or 'guifg=NONE' + local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE' + local sp = color.sp and 'guisp=' .. color.sp or '' + + local hl = 'highlight ' + .. group + .. ' ' + .. style + .. ' ' + .. fg + .. ' ' + .. bg + .. ' ' + .. sp + + vim.cmd(hl) + if color.link then + vim.cmd('highlight! link ' .. group .. ' ' .. color.link) + end + end + + for group, colors in pairs(require('rose-pine.theme')) do + highlight(group, colors) + end + + require('rose-pine.galaxyline.theme') +end + +function M.set(variant) + vim.g.rose_pine_variant = variant + vim.cmd([[colorscheme rose-pine]]) +end + +function M.toggle(variants) + variants = variants or { 'main', 'moon', 'dawn' } + + local index = {} + for k, v in pairs(variants) do + index[v] = k + end + + if vim.g.rose_pine_current_variant == nil then + vim.g.rose_pine_current_variant = index[vim.g.rose_pine_variant] or 0 + end + + vim.g.rose_pine_current_variant = ( + vim.g.rose_pine_current_variant % #variants + ) + 1 + + M.set(variants[vim.g.rose_pine_current_variant]) end return M diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 985d321..e73caee 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -1,48 +1,22 @@ -local palette = { - base = '#191724', - surface = '#1f1d2e', - overlay = '#26233a', - inactive = '#555169', - subtle = '#6e6a86', - text = '#e0def4', - love = '#eb6f92', - gold = '#f6c177', - rose = '#ebbcba', - pine = '#31748f', - foam = '#9ccfd8', - iris = '#c4a7e7', - highlight_low = '#21202e', - highlight_med = '#403d52', - highlight_high = '#524f67', - none = 'NONE', -} - -if - vim.g.rose_pine_variant == 'dawn' - or vim.g.rose_pine_variant == 'rose-pine-dawn' -then - palette = { - base = '#faf4ed', - surface = '#fffaf3', - overlay = '#f2e9de', - inactive = '#9893a5', +local variants = { + main = { + base = '#191724', + surface = '#1f1d2e', + overlay = '#26233a', + inactive = '#555169', subtle = '#6e6a86', - text = '#575279', - love = '#b4637a', - gold = '#ea9d34', - rose = '#d7827e', - pine = '#286983', - foam = '#56949f', - iris = '#907aa9', - highlight_low = '#f4ede8', - highlight_med = '#dfdad9', - highlight_high = '#cecacd', - } -elseif - vim.g.rose_pine_variant == 'moon' - or vim.g.rose_pine_variant == 'rose-pine-moon' -then - palette = { + text = '#e0def4', + love = '#eb6f92', + gold = '#f6c177', + rose = '#ebbcba', + pine = '#31748f', + foam = '#9ccfd8', + iris = '#c4a7e7', + highlight_low = '#21202e', + highlight_med = '#403d52', + highlight_high = '#524f67', + }, + moon = { base = '#232136', surface = '#2a273f', overlay = '#393552', @@ -58,7 +32,34 @@ then highlight_low = '#2a283e', highlight_med = '#44415a', highlight_high = '#56526e', - } + }, + dawn = { + base = '#faf4ed', + surface = '#fffaf3', + overlay = '#f2e9de', + inactive = '#9893a5', + subtle = '#6e6a86', + text = '#575279', + love = '#b4637a', + gold = '#ea9d34', + rose = '#d7827e', + pine = '#286983', + foam = '#56949f', + iris = '#907aa9', + highlight_low = '#f4ede8', + highlight_med = '#dfdad9', + highlight_high = '#cecacd', + }, +} + +local palette = variants.main + +if string.match(vim.g.rose_pine_variant or '', 'moon') then + palette = variants.moon +elseif string.match(vim.g.rose_pine_variant or '', 'dawn') then + palette = variants.dawn end +vim.tbl_deep_extend('force', palette, { none = 'NONE' }) + return palette diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 1b5c497..2e33579 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,46 +1,24 @@ +local config = require('rose-pine.config') local p = require('rose-pine.palette') -local user_colors = vim.g.rose_pine_colors or {} -local groups = { - punctuation = user_colors.punctuation or p.subtle, - comment = user_colors.comment or p.subtle, - hint = user_colors.hint or p.iris, - info = user_colors.info or p.foam, - warn = user_colors.warn or p.gold, - error = user_colors.error or p.love, - headings = { - h1 = p.love, - h2 = p.rose, - h3 = p.iris, - h4 = p.pine, - h5 = p.foam, - }, -} - -groups.headings = vim.tbl_extend( - 'force', - groups.headings, - user_colors.headings or {} -) - -local theme = {} +-- TODO: Refactor `maybe` logic local maybe_base = p.base local maybe_italic = 'italic' local maybe_bold_vert_split = { fg = p.overlay } -if vim.g.rose_pine_disable_background then - maybe_base = p.none -end - -if vim.g.rose_pine_disable_italics then - maybe_italic = nil -end - -if vim.g.rose_pine_bold_vertical_split_line then +if config.bold_vert_split then maybe_bold_vert_split = { fg = p.surface, bg = p.surface } end -theme.base = { +if config.no_background then + maybe_base = p.none +end + +if config.no_italics then + maybe_italic = nil +end + +local theme = { ColorColumn = { bg = p.highlight_high }, Conceal = { bg = p.none }, -- Cursor = {}, @@ -66,7 +44,7 @@ theme.base = { IncSearch = { bg = p.highlight_med }, LineNr = { fg = p.inactive }, MatchParen = { fg = p.text, bg = p.overlay }, - -- ModeMsg = {}, + ModeMsg = { fg = p.subtle }, MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, Normal = { fg = p.text, bg = maybe_base }, @@ -102,7 +80,7 @@ theme.base = { Boolean = { fg = p.gold }, Character = { fg = p.gold }, Comment = { - fg = groups.comment, + fg = config.colors.comment, style = maybe_italic, }, Conditional = { fg = p.pine }, @@ -141,11 +119,11 @@ theme.base = { htmlArg = { fg = p.iris }, htmlBold = { fg = p.text, style = 'bold' }, htmlEndTag = { fg = p.subtle }, - htmlH1 = { fg = groups.headings.h1, style = 'bold' }, - htmlH2 = { fg = groups.headings.h2, style = 'bold' }, - htmlH3 = { fg = groups.headings.h3, style = 'bold' }, - htmlH4 = { fg = groups.headings.h4, style = 'bold' }, - htmlH5 = { fg = groups.headings.h5, style = 'bold' }, + htmlH1 = { fg = config.colors.headings.h1, style = 'bold' }, + htmlH2 = { fg = config.colors.headings.h2, style = 'bold' }, + htmlH3 = { fg = config.colors.headings.h3, style = 'bold' }, + htmlH4 = { fg = config.colors.headings.h4, style = 'bold' }, + htmlH5 = { fg = config.colors.headings.h5, style = 'bold' }, htmlItalic = { fg = p.text, style = maybe_italic }, htmlLink = { fg = p.text }, htmlTag = { fg = p.subtle }, @@ -172,59 +150,54 @@ theme.base = { -- ^ ^ typescriptParens = { bg = p.none }, - DiagnosticHint = { fg = groups.hint }, - DiagnosticInfo = { fg = groups.info }, - DiagnosticWarn = { fg = groups.warn }, - DiagnosticError = { fg = groups.error }, - - DiagnosticDefaultHint = { fg = groups.hint }, - DiagnosticDefaultInfo = { fg = groups.info }, - DiagnosticDefaultWarn = { fg = groups.warn }, - DiagnosticDefaultError = { fg = groups.error }, - - DiagnosticFloatingHint = { fg = groups.hint }, - DiagnosticFloatingInfo = { fg = groups.info }, - DiagnosticFloatingWarn = { fg = groups.warn }, - DiagnosticFloatingError = { fg = groups.error }, - - DiagnosticSignHint = { fg = groups.hint }, - DiagnosticSignInfo = { fg = groups.info }, - DiagnosticSignWarn = { fg = groups.warn }, - DiagnosticSignError = { fg = groups.error }, - - DiagnosticUnderlineHint = { style = 'undercurl', sp = groups.hint }, - DiagnosticUnderlineInfo = { style = 'undercurl', sp = groups.info }, - DiagnosticUnderlineWarn = { style = 'undercurl', sp = groups.warn }, - DiagnosticUnderlineError = { style = 'undercurl', sp = groups.error }, - - DiagnosticVirtualTextHint = { fg = groups.hint }, - DiagnosticVirtualTextInfo = { fg = groups.info }, - DiagnosticVirtualTextWarn = { fg = groups.warn }, - DiagnosticVirtualTextError = { fg = groups.error }, + DiagnosticHint = { fg = config.colors.hint }, + DiagnosticInfo = { fg = config.colors.info }, + DiagnosticWarn = { fg = config.colors.warn }, + DiagnosticError = { fg = config.colors.error }, + DiagnosticDefaultHint = { fg = config.colors.hint }, + DiagnosticDefaultInfo = { fg = config.colors.info }, + DiagnosticDefaultWarn = { fg = config.colors.warn }, + DiagnosticDefaultError = { fg = config.colors.error }, + DiagnosticFloatingHint = { fg = config.colors.hint }, + DiagnosticFloatingInfo = { fg = config.colors.info }, + DiagnosticFloatingWarn = { fg = config.colors.warn }, + DiagnosticFloatingError = { fg = config.colors.error }, + DiagnosticSignHint = { fg = config.colors.hint }, + DiagnosticSignInfo = { fg = config.colors.info }, + DiagnosticSignWarn = { fg = config.colors.warn }, + DiagnosticSignError = { fg = config.colors.error }, + DiagnosticUnderlineHint = { style = 'undercurl', sp = config.colors.hint }, + DiagnosticUnderlineInfo = { style = 'undercurl', sp = config.colors.info }, + DiagnosticUnderlineWarn = { style = 'undercurl', sp = config.colors.warn }, + DiagnosticUnderlineError = { + style = 'undercurl', + sp = config.colors.error, + }, + DiagnosticVirtualTextHint = { fg = config.colors.hint }, + DiagnosticVirtualTextInfo = { fg = config.colors.info }, + DiagnosticVirtualTextWarn = { fg = config.colors.warn }, + DiagnosticVirtualTextError = { fg = config.colors.error }, LspReferenceText = { fg = p.rose, bg = p.highlight_med }, LspReferenceRead = { fg = p.rose, bg = p.highlight_med }, LspReferenceWrite = { fg = p.rose, bg = p.highlight_med }, - --Lsp color groups for nvim 0.5.x + -- TODO: Deprecate in favour of 0.6.0 groups LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' }, LspDiagnosticsDefaultWarning = { link = 'DiagnosticDefaultWarn' }, LspDiagnosticsFloatingWarning = { link = 'DiagnosticFloatingWarn' }, LspDiagnosticsVirtualTextWarning = { link = 'DiagnosticVirtualTextWarn' }, LspDiagnosticsUnderlineWarning = { link = 'DiagnosticUnderlineWarn' }, - LspDiagnosticsSignHint = { link = 'DiagnosticSignHint' }, LspDiagnosticsDefaultHint = { link = 'DiagnosticDefaultHint' }, LspDiagnosticsVirtualTextHint = { link = 'DiagnosticFloatingHint' }, LspDiagnosticsFloatingHint = { link = 'DiagnosticVirtualTextHint' }, LspDiagnosticsUnderlineHint = { link = 'DiagnosticUnderlineHint' }, - LspDiagnosticsSignError = { link = 'DiagnosticSignError' }, LspDiagnosticsDefaultError = { link = 'DiagnosticDefaultError' }, LspDiagnosticsFloatingError = { link = 'DiagnosticFloatingError' }, LspDiagnosticsVirtualTextError = { link = 'DiagnosticVirtualTextError' }, LspDiagnosticsUnderlineError = { link = 'DiagnosticUnderlineError' }, - LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' }, LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' }, LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' }, @@ -239,42 +212,13 @@ theme.base = { RedrawDebugRecompose = { fg = '#ffffff', bg = p.love }, NvimInternalError = { fg = '#ffffff', bg = p.love }, -} -function theme.load_terminal() - -- black - vim.g.terminal_color_0 = p.overlay - vim.g.terminal_color_8 = p.subtle - -- red - vim.g.terminal_color_1 = p.love - vim.g.terminal_color_9 = p.love - -- green - vim.g.terminal_color_2 = p.pine - vim.g.terminal_color_10 = p.pine - -- yellow - vim.g.terminal_color_3 = p.gold - vim.g.terminal_color_11 = p.gold - -- blue - vim.g.terminal_color_4 = p.foam - vim.g.terminal_color_12 = p.foam - -- magenta - vim.g.terminal_color_5 = p.iris - vim.g.terminal_color_13 = p.iris - -- cyan - vim.g.terminal_color_6 = p.rose - vim.g.terminal_color_14 = p.rose - -- white - vim.g.terminal_color_7 = p.text - vim.g.terminal_color_15 = p.text -end - -theme.treesitter = { -- TSAnnotation = {}, -- TSAttribute = {}, TSBoolean = { fg = p.rose }, -- TSCharacter = {}, TSComment = { - fg = groups.comment, + fg = config.colors.comment, style = maybe_italic, }, -- TSConditional = {}, @@ -310,9 +254,9 @@ theme.treesitter = { fg = p.iris, style = maybe_italic, }, - TSPunctBracket = { fg = groups.punctuation }, - TSPunctDelimiter = { fg = groups.punctuation }, - TSPunctSpecial = { fg = groups.punctuation }, + TSPunctBracket = { fg = config.colors.punctuation }, + TSPunctDelimiter = { fg = config.colors.punctuation }, + TSPunctSpecial = { fg = config.colors.punctuation }, -- TSRepeat = {}, -- TSStrike = {}, TSString = { fg = p.gold }, @@ -332,9 +276,7 @@ theme.treesitter = { style = maybe_italic, }, TSVariableBuiltin = { fg = p.love }, -} -theme.plugins = { -- barbar.nvim -- https://github.com/romgrk/barbar.nvim BufferTabpageFill = { fg = p.base, bg = p.base }, @@ -370,14 +312,12 @@ theme.plugins = { -- nvim-tree.lua -- https://github.com/kyazdani42/nvim-tree.lua NvimTreeNormal = { fg = p.text }, - 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 }, NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, @@ -386,7 +326,6 @@ theme.plugins = { NvimTreeOpenedFolderName = { fg = p.foam }, NvimTreeRootFolder = { fg = p.iris }, NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, - NvimTreeGitDeleted = { fg = p.love }, NvimTreeGitDirty = { fg = p.rose }, NvimTreeGitIgnored = { fg = p.subtle }, @@ -394,7 +333,6 @@ theme.plugins = { NvimTreeGitNew = { fg = p.foam }, NvimTreeGitRenamed = { fg = p.pine }, NvimTreeGitStaged = { fg = p.iris }, - NvimTreeWindowPicker = { fg = p.base, bg = p.iris }, -- which-key.nvim @@ -428,7 +366,10 @@ theme.plugins = { -- neogit -- https://github.com/TimUntersberger/neogit NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med }, - NeogitDiffDeleteHighlight = { fg = p.love, bg = p.highlight_med }, + NeogitDiffDeleteHighlight = { + fg = p.love, + bg = p.highlight_med, + }, NeogitDiffContextHighlight = { bg = p.highlight_low }, NeogitHunkHeader = { bg = p.highlight_low }, NeogitHunkHeaderHighlight = { bg = p.highlight_low }, @@ -436,16 +377,33 @@ theme.plugins = { -- VimWiki -- https://github.com/vimwiki/vimwiki VimwikiHR = { fg = p.subtle }, - VimwikiHeader1 = { fg = p.foam, style = 'bold' }, - VimwikiHeader2 = { fg = p.foam, style = 'bold' }, - VimwikiHeader3 = { fg = p.foam, style = 'bold' }, - VimwikiHeader4 = { fg = p.foam, style = 'bold' }, - VimwikiHeader5 = { fg = p.foam, style = 'bold' }, - VimwikiHeader6 = { fg = p.foam, style = 'bold' }, + VimwikiHeader1 = { fg = config.colors.headings.h1, style = 'bold' }, + VimwikiHeader2 = { fg = config.colors.headings.h2, style = 'bold' }, + VimwikiHeader3 = { fg = config.colors.headings.h3, style = 'bold' }, + VimwikiHeader4 = { fg = config.colors.headings.h4, style = 'bold' }, + VimwikiHeader5 = { fg = config.colors.headings.h5, style = 'bold' }, + VimwikiHeader6 = { fg = config.colors.headings.h6, style = 'bold' }, VimwikiHeaderChar = { fg = p.pine }, VimwikiLink = { fg = p.rose }, VimwikiList = { fg = p.iris }, VimwikiNoExistsLink = { fg = p.love }, } +vim.g.terminal_color_0 = p.overlay -- black +vim.g.terminal_color_8 = p.subtle -- bright black +vim.g.terminal_color_1 = p.love -- red +vim.g.terminal_color_9 = p.love -- bright red +vim.g.terminal_color_2 = p.pine -- green +vim.g.terminal_color_10 = p.pine -- bright green +vim.g.terminal_color_3 = p.gold -- yellow +vim.g.terminal_color_11 = p.gold -- bright yellow +vim.g.terminal_color_4 = p.foam -- blue +vim.g.terminal_color_12 = p.foam -- bright blue +vim.g.terminal_color_5 = p.iris -- magenta +vim.g.terminal_color_13 = p.iris -- bright magenta +vim.g.terminal_color_6 = p.rose -- cyan +vim.g.terminal_color_14 = p.rose -- bright cyan +vim.g.terminal_color_7 = p.text -- white +vim.g.terminal_color_15 = p.text -- bright white + return theme diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua deleted file mode 100644 index ba7b117..0000000 --- a/lua/rose-pine/util.lua +++ /dev/null @@ -1,63 +0,0 @@ -local util = {} - -util.highlight = function(group, color) - local style = color.style and 'gui=' .. color.style or 'gui=NONE' - local fg = color.fg and 'guifg=' .. color.fg or 'guifg=NONE' - local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE' - local sp = color.sp and 'guisp=' .. color.sp or '' - - local hl = 'highlight ' - .. group - .. ' ' - .. style - .. ' ' - .. fg - .. ' ' - .. bg - .. ' ' - .. sp - - vim.cmd(hl) - if color.link then - vim.cmd('highlight! link ' .. group .. ' ' .. color.link) - end -end - -function util.load() - if vim.g.colors_name then - vim.cmd('hi clear') - end - - vim.o.termguicolors = true - vim.g.colors_name = 'rose-pine' - - if vim.o.background == 'light' and vim.g.rose_pine_variant == nil then - vim.g.rose_pine_variant = 'dawn' - elseif - vim.g.rose_pine_variant == 'dawn' - or vim.g.rose_pine_variant == 'rose-pine-dawn' - then - vim.o.background = 'light' - end - - local theme = require('rose-pine.theme') - - theme.load_terminal() - - for group, colors in pairs(theme.base) do - util.highlight(group, colors) - end - - for group, colors in pairs(theme.treesitter) do - util.highlight(group, colors) - end - - for group, colors in pairs(theme.plugins) do - util.highlight(group, colors) - end - - -- Load galaxyline theme - require("rose-pine.galaxyline.theme") -end - -return util diff --git a/readme.md b/readme.md index 490c6e9..4434eef 100644 --- a/readme.md +++ b/readme.md @@ -69,49 +69,36 @@ use({ ## Options -> Options should be set before colorscheme - -### Interface +> Options should be set **before** colorscheme ```lua --- Set variant --- Defaults to 'dawn' if vim background is light --- @usage 'base' | 'moon' | 'dawn' | 'rose-pine[-moon][-dawn]' -vim.g.rose_pine_variant = 'base' +-- Set theme variant +-- Matches terminal theme if unset +-- @usage 'main' | 'moon' | 'dawn' +vim.g.rose_pine_variant = 'dawn' --- Disable italics +vim.g.rose_pine_bold_vertical_split_line = true +vim.g.rose_pine_disable_background = false vim.g.rose_pine_disable_italics = false --- Use terminal background -vim.g.rose_pine_disable_background = false - --- Use bold vertical split line -vim.g.rose_pine_bold_vertical_split_line = true -``` - -### Custom colours - -```lua +local p = require('rose-pine.palette') vim.g.rose_pine_colors = { - punctuation = '#fa8072', - comment = '#ffffff', - hint = '#9745be', - info = '#78ccc5', - warn = '#f5c359', - error = '#c75c6a', - headings = { - h1 = '#999999', - h2 = '#888888', - h3 = '#777777', - h4 = '#666666', - h5 = '#555555', - } + punctuation = p.subtle, + comment = p.subtle, + hint = p.iris, + info = p.foam, + warn = p.gold, + error = p.love, + headings = { + h1 = p.foam, + h2 = p.foam, + h3 = p.foam, + h4 = p.foam, + h5 = p.foam, + h6 = p.foam, + }, } -``` -Be sure to set the colorscheme _after_ options - -```lua -- Set colorscheme after options vim.cmd('colorscheme rose-pine') ``` @@ -119,26 +106,28 @@ vim.cmd('colorscheme rose-pine') ## Functions ```lua --- Toggle between the three variants -require('rose-pine.functions').toggle_variant() +-- Toggle between all variants +require('rose-pine').toggle() --- Toggle between base and dawn -require('rose-pine.functions').toggle_variant({'base', 'dawn'}) +-- Toggle between some variants +require('rose-pine').toggle({'main', 'dawn'}) --- Switch to specified variant -require('rose-pine.functions').select_variant('moon') +-- Set specific variant +require('rose-pine').set('moon') ``` ## Keymaps -```lua --- Toggle variant -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').toggle_variant()]], { noremap = true, silent = true }) +> These are only suggestions; no keymaps are set by the theme --- Select each variant -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('dawn')]], { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('moon')]], { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine.functions').select_variant('base')]], { noremap = true, silent = true }) +```lua +-- Toggle variants +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').toggle()]], { noremap = true, silent = true }) + +-- Set variant +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('main')]], { noremap = true, silent = true }) +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('moon')]], { noremap = true, silent = true }) +vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('dawn')]], { noremap = true, silent = true }) ``` ## Contributing From 4a36ea98193e72a76504a6fb667a7b0d990f38bd Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:39:40 -0600 Subject: [PATCH 078/309] Revert "Remove background for popups (#38)" This reverts commit 4fa5912437e9bc1cf502a3a00ebe1c292c10488e. --- lua/rose-pine/theme.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 2e33579..8997c81 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -48,8 +48,8 @@ local theme = { MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, Normal = { fg = p.text, bg = maybe_base }, - NormalFloat = { fg = p.subtle }, - Pmenu = { fg = p.subtle }, + NormalFloat = { fg = p.text, bg = p.surface }, + Pmenu = { fg = p.subtle, bg = p.surface }, PmenuSbar = { bg = p.overlay }, PmenuSel = { fg = p.text, bg = p.overlay }, PmenuThumb = { bg = p.inactive }, @@ -351,7 +351,6 @@ local theme = { -- nvim-cmp -- https://github.com/hrsh7th/nvim-cmp CmpItemKind = { fg = p.iris }, - CmpItemMenu = { fg = p.subtle }, CmpItemAbbr = { fg = p.subtle }, CmpItemAbbrMatch = { fg = p.text, style = 'bold' }, CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' }, From 0f83b4a47243f921bd8a20869db5c91004b6bdb2 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:45:02 -0600 Subject: [PATCH 079/309] docs: update variant name --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 4434eef..40772a9 100644 --- a/readme.md +++ b/readme.md @@ -19,7 +19,7 @@ use({ as = 'rose-pine', config = function() -- Options (see available options below) - vim.g.rose_pine_variant = 'base' + vim.g.rose_pine_variant = 'main' -- Load colorscheme after options vim.cmd('colorscheme rose-pine') From ce1a9d36e5dae37aa6f135fd1f9c0b8d01430612 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:45:20 -0600 Subject: [PATCH 080/309] feat: add `vim.g.rose_pine_disable_float_background` option --- lua/rose-pine/config.lua | 1 + lua/rose-pine/theme.lua | 9 +++++++-- readme.md | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 668ade7..e7bde86 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -3,6 +3,7 @@ local palette = require('rose-pine.palette') local config = { bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false, no_background = vim.g.rose_pine_disable_background or false, + no_float_background = vim.g.rose_pine_disable_float_background or false, no_italics = vim.g.rose_pine_disable_italics or false, colors = { punctuation = palette.subtle, diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 8997c81..9601e94 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -3,6 +3,7 @@ local p = require('rose-pine.palette') -- TODO: Refactor `maybe` logic local maybe_base = p.base +local maybe_surface = p.surface local maybe_italic = 'italic' local maybe_bold_vert_split = { fg = p.overlay } @@ -14,6 +15,10 @@ if config.no_background then maybe_base = p.none end +if config.no_float_background then + maybe_surface = p.none +end + if config.no_italics then maybe_italic = nil end @@ -48,8 +53,8 @@ local theme = { MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, Normal = { fg = p.text, bg = maybe_base }, - NormalFloat = { fg = p.text, bg = p.surface }, - Pmenu = { fg = p.subtle, bg = p.surface }, + NormalFloat = { fg = p.text, bg = maybe_surface }, + Pmenu = { fg = p.subtle, bg = maybe_surface }, PmenuSbar = { bg = p.overlay }, PmenuSel = { fg = p.text, bg = p.overlay }, PmenuThumb = { bg = p.inactive }, diff --git a/readme.md b/readme.md index 40772a9..60556bf 100644 --- a/readme.md +++ b/readme.md @@ -79,6 +79,7 @@ vim.g.rose_pine_variant = 'dawn' vim.g.rose_pine_bold_vertical_split_line = true vim.g.rose_pine_disable_background = false +vim.g.rose_pine_disable_float_background = false vim.g.rose_pine_disable_italics = false local p = require('rose-pine.palette') From 61c20113aa421767d2d4f996f03f39e078877b84 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 09:57:52 -0600 Subject: [PATCH 081/309] feat: add `vim.g.rose_pine_inactive_background` closes #39 --- lua/rose-pine/config.lua | 1 + lua/rose-pine/theme.lua | 22 ++++++++++++++-------- readme.md | 1 + 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index e7bde86..3726b4b 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -2,6 +2,7 @@ local palette = require('rose-pine.palette') local config = { bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false, + inactive_background = vim.g.rose_pine_inactive_background or false, no_background = vim.g.rose_pine_disable_background or false, no_float_background = vim.g.rose_pine_disable_float_background or false, no_italics = vim.g.rose_pine_disable_italics or false, diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 9601e94..45dff64 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -2,8 +2,9 @@ local config = require('rose-pine.config') local p = require('rose-pine.palette') -- TODO: Refactor `maybe` logic -local maybe_base = p.base -local maybe_surface = p.surface +local maybe_inactive_background = p.none +local maybe_background = p.base +local maybe_float_background = p.surface local maybe_italic = 'italic' local maybe_bold_vert_split = { fg = p.overlay } @@ -11,12 +12,16 @@ 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_base = p.none + maybe_background = p.none end if config.no_float_background then - maybe_surface = p.none + maybe_float_background = p.none end if config.no_italics then @@ -52,9 +57,10 @@ local theme = { ModeMsg = { fg = p.subtle }, MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, - Normal = { fg = p.text, bg = maybe_base }, - NormalFloat = { fg = p.text, bg = maybe_surface }, - Pmenu = { fg = p.subtle, bg = maybe_surface }, + Normal = { fg = p.text, bg = maybe_background }, + NormalNC = { fg = p.text, bg = maybe_inactive_background }, + NormalFloat = { fg = p.text, bg = maybe_float_background }, + Pmenu = { fg = p.subtle, bg = maybe_float_background }, PmenuSbar = { bg = p.overlay }, PmenuSel = { fg = p.text, bg = p.overlay }, PmenuThumb = { bg = p.inactive }, @@ -66,7 +72,7 @@ local theme = { SpellCap = { style = 'undercurl', sp = p.subtle }, SpellLocal = { style = 'undercurl', sp = p.subtle }, SpellRare = { style = 'undercurl', sp = p.subtle }, - SignColumn = { fg = p.text, bg = maybe_base }, + SignColumn = { fg = p.text, bg = maybe_background }, StatusLine = { fg = p.text, bg = p.surface }, StatusLineNC = { fg = p.subtle, bg = p.surface }, -- StatusLineTerm = {}, diff --git a/readme.md b/readme.md index 60556bf..73da318 100644 --- a/readme.md +++ b/readme.md @@ -78,6 +78,7 @@ use({ vim.g.rose_pine_variant = 'dawn' vim.g.rose_pine_bold_vertical_split_line = true +vim.g.rose_pine_inactive_background = false vim.g.rose_pine_disable_background = false vim.g.rose_pine_disable_float_background = false vim.g.rose_pine_disable_italics = false From 043d73befdedbce126045bfba5f5c54bbc992895 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 11:00:45 -0600 Subject: [PATCH 082/309] docs: encourage tagged releases --- readme.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 73da318..8d59f6e 100644 --- a/readme.md +++ b/readme.md @@ -17,11 +17,8 @@ use({ 'rose-pine/neovim', as = 'rose-pine', + tag = 'v0.1.0', -- Optional tag release config = function() - -- Options (see available options below) - vim.g.rose_pine_variant = 'main' - - -- Load colorscheme after options vim.cmd('colorscheme rose-pine') end }) From 1ef3ca3806decab0c13bbd0b31d39c25f8f0df05 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 14:43:58 -0600 Subject: [PATCH 083/309] chore: update headings --- lua/rose-pine/config.lua | 8 ++++---- readme.md | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 3726b4b..3418757 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -23,11 +23,11 @@ local config = { ---@type string|table headings = { - h1 = palette.foam, + h1 = palette.iris, h2 = palette.foam, - h3 = palette.foam, - h4 = palette.foam, - h5 = palette.foam, + h3 = palette.rose, + h4 = palette.gold, + h5 = palette.pine, h6 = palette.foam, }, }, diff --git a/readme.md b/readme.md index 8d59f6e..caec84c 100644 --- a/readme.md +++ b/readme.md @@ -88,12 +88,13 @@ vim.g.rose_pine_colors = { info = p.foam, warn = p.gold, error = p.love, + -- Or set all headings to one colour: `headings = p.text` headings = { - h1 = p.foam, + h1 = p.iris, h2 = p.foam, - h3 = p.foam, - h4 = p.foam, - h5 = p.foam, + h3 = p.rose, + h4 = p.gold, + h5 = p.pine, h6 = p.foam, }, } From bebb579bcd6c32f5a48f678cda02e5855ec13940 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 14:44:21 -0600 Subject: [PATCH 084/309] feat: add `vim.g.rose_pine_colors.heading_prefix` --- lua/rose-pine/config.lua | 1 + lua/rose-pine/theme.lua | 2 +- readme.md | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 3418757..3f135f4 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -21,6 +21,7 @@ local config = { -- ['function'] = '', -- method = '', + heading_prefix = palette.subtle, ---@type string|table headings = { h1 = palette.iris, diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 45dff64..4b440b0 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -98,7 +98,7 @@ local theme = { Constant = { fg = p.gold }, Debug = { fg = p.rose }, Define = { fg = p.iris }, - Delimiter = { fg = p.rose }, + Delimiter = { fg = config.colors.heading_prefix }, Error = { fg = p.love }, Exception = { fg = p.pine }, Float = { fg = p.gold }, diff --git a/readme.md b/readme.md index caec84c..dec5fee 100644 --- a/readme.md +++ b/readme.md @@ -88,6 +88,7 @@ vim.g.rose_pine_colors = { info = p.foam, warn = p.gold, error = p.love, + heading_prefix = p.subtle -- Or set all headings to one colour: `headings = p.text` headings = { h1 = p.iris, From 40ae2b843d23d486093b83f0bad670c82c2d5b85 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 15:02:46 -0600 Subject: [PATCH 085/309] chore!: match heading prefix to text --- lua/rose-pine/config.lua | 1 - lua/rose-pine/theme.lua | 15 ++++++++++++++- readme.md | 2 +- test.md | 11 +++++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 test.md diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 3f135f4..3418757 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -21,7 +21,6 @@ local config = { -- ['function'] = '', -- method = '', - heading_prefix = palette.subtle, ---@type string|table headings = { h1 = palette.iris, diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 4b440b0..f58c3d4 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -98,7 +98,7 @@ local theme = { Constant = { fg = p.gold }, Debug = { fg = p.rose }, Define = { fg = p.iris }, - Delimiter = { fg = config.colors.heading_prefix }, + Delimiter = { fg = p.subtle }, Error = { fg = p.love }, Exception = { fg = p.pine }, Float = { fg = p.gold }, @@ -141,6 +141,19 @@ local theme = { htmlTagN = { fg = p.text }, htmlTagName = { fg = p.foam }, + markdownH1 = { fg = config.colors.headings.h1, style = 'bold' }, + markdownH1Delimiter = { fg = config.colors.headings.h1 }, + markdownH2 = { fg = config.colors.headings.h2, style = 'bold' }, + markdownH2Delimiter = { fg = config.colors.headings.h2 }, + markdownH3 = { fg = config.colors.headings.h3, style = 'bold' }, + markdownH3Delimiter = { fg = config.colors.headings.h3 }, + markdownH4 = { fg = config.colors.headings.h4, style = 'bold' }, + markdownH4Delimiter = { fg = config.colors.headings.h4 }, + markdownH5 = { fg = config.colors.headings.h5, style = 'bold' }, + markdownH5Delimiter = { fg = config.colors.headings.h5 }, + markdownH6 = { fg = config.colors.headings.h6, style = 'bold' }, + markdownH6Delimiter = { fg = config.colors.headings.h6 }, + markdownDelimiter = { fg = p.subtle }, markdownLinkText = { fg = p.iris, style = 'underline' }, markdownUrl = { fg = p.iris, style = 'underline' }, mkdCode = { fg = p.foam, style = maybe_italic }, diff --git a/readme.md b/readme.md index dec5fee..8264c0d 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,7 @@ vim.g.rose_pine_colors = { info = p.foam, warn = p.gold, error = p.love, - heading_prefix = p.subtle + -- Or set all headings to one colour: `headings = p.text` headings = { h1 = p.iris, diff --git a/test.md b/test.md new file mode 100644 index 0000000..e303d2e --- /dev/null +++ b/test.md @@ -0,0 +1,11 @@ +# Test + +## Test + +### Test + +#### Test + +##### Test + +###### Test From 718fb1fcf778278f5ef6936b68174333a0b276a8 Mon Sep 17 00:00:00 2001 From: not Date: Fri, 3 Dec 2021 15:03:47 -0600 Subject: [PATCH 086/309] docs: format --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 8264c0d..ece397d 100644 --- a/readme.md +++ b/readme.md @@ -17,7 +17,7 @@ use({ 'rose-pine/neovim', as = 'rose-pine', - tag = 'v0.1.0', -- Optional tag release + tag = 'v0.1.0', -- Optional tag release config = function() vim.cmd('colorscheme rose-pine') end From e169df709848021ba6fb548b3c2f9e8cc70bc36d Mon Sep 17 00:00:00 2001 From: not Date: Fri, 3 Dec 2021 15:04:41 -0600 Subject: [PATCH 087/309] docs: use default config as example --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index ece397d..9d2942e 100644 --- a/readme.md +++ b/readme.md @@ -72,9 +72,9 @@ use({ -- Set theme variant -- Matches terminal theme if unset -- @usage 'main' | 'moon' | 'dawn' -vim.g.rose_pine_variant = 'dawn' +vim.g.rose_pine_variant = '' -vim.g.rose_pine_bold_vertical_split_line = true +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_float_background = false From 23c51ae234a96d939b0c7f13a57c859d5c78b799 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 3 Dec 2021 15:10:01 -0600 Subject: [PATCH 088/309] chore: remove markdown test --- test.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 test.md diff --git a/test.md b/test.md deleted file mode 100644 index e303d2e..0000000 --- a/test.md +++ /dev/null @@ -1,11 +0,0 @@ -# Test - -## Test - -### Test - -#### Test - -##### Test - -###### Test From 5feab69740b4b8c87a73110a6d126a46d7f475ad Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 8 Dec 2021 11:51:26 -0600 Subject: [PATCH 089/309] fix: matching parenthesis contrast closes #47 --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index f58c3d4..53db8b2 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -53,7 +53,7 @@ local theme = { Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight_med }, LineNr = { fg = p.inactive }, - MatchParen = { fg = p.text, bg = p.overlay }, + MatchParen = { fg = p.text, bg = p.highlight_med }, ModeMsg = { fg = p.subtle }, MoreMsg = { fg = p.iris }, NonText = { fg = p.inactive }, From 8594322103914b20ab393a7338ab054e99dac983 Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Tue, 14 Dec 2021 20:26:36 +0100 Subject: [PATCH 090/309] fix: match Markdown headings for TS plugin (#49) --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 53db8b2..5971211 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -290,7 +290,7 @@ local theme = { TSTag = { fg = p.foam }, TSTagDelimiter = { fg = p.subtle }, TSText = { fg = p.text }, - -- TSTitle = {}, + TSTitle = { fg = config.colors.headings.h1, style = 'bold' }, -- TSType = {}, -- TSTypeBuiltin = {}, TSURI = { fg = p.gold }, From 12cfac46f36cebfbff6c2ffd304f1ea62f8ab15a Mon Sep 17 00:00:00 2001 From: Daniel Mathiot Date: Wed, 15 Dec 2021 15:25:45 +0100 Subject: [PATCH 091/309] Support for Neorg (#33) --- lua/rose-pine/theme.lua | 18 ++++++++++++++++++ readme.md | 1 + 2 files changed, 19 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 5971211..815fcfb 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -410,6 +410,24 @@ local theme = { VimwikiLink = { fg = p.rose }, VimwikiList = { fg = p.iris }, VimwikiNoExistsLink = { fg = p.love }, + + -- Neorg + -- https://github.com/nvim-neorg/neorg + NeorgHeading1Prefix = { fg = config.colors.headings.h1, style = 'bold' }, + NeorgHeading2Prefix = { fg = config.colors.headings.h2, style = 'bold' }, + NeorgHeading3Prefix = { fg = config.colors.headings.h3, style = 'bold' }, + NeorgHeading4Prefix = { fg = config.colors.headings.h4, style = 'bold' }, + NeorgHeading5Prefix = { fg = config.colors.headings.h5, style = 'bold' }, + NeorgHeading6Prefix = { fg = config.colors.headings.h6, style = 'bold' }, + + NeorgHeading1Title = { fg = config.colors.headings.h1, style = 'bold' }, + NeorgHeading2Title = { fg = config.colors.headings.h2, style = 'bold' }, + NeorgHeading3Title = { fg = config.colors.headings.h3, style = 'bold' }, + NeorgHeading4Title = { fg = config.colors.headings.h4, style = 'bold' }, + NeorgHeading5Title = { fg = config.colors.headings.h5, style = 'bold' }, + NeorgHeading6Title = { fg = config.colors.headings.h6, style = 'bold' }, + + NeorgMarkerTitle = { fg = p.text, style = 'bold' }, } vim.g.terminal_color_0 = p.overlay -- black diff --git a/readme.md b/readme.md index 9d2942e..5b7d666 100644 --- a/readme.md +++ b/readme.md @@ -37,6 +37,7 @@ use({ - **[WhichKey](https://github.com/folke/which-key.nvim)** - **[Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)** - **[Neogit](https://github.com/TimUntersberger/neogit)** +- **[Neorg](https://github.com/nvim-neorg/neorg)** - **[Lualine](https://github.com/hoob3rt/lualine.nvim)** ```lua require('lualine').setup({ From 490b59d540c2d7e11a7853b7165de60a14ca814e Mon Sep 17 00:00:00 2001 From: Samuel K <62254492+ExtinctAxolotl@users.noreply.github.com> Date: Fri, 17 Dec 2021 20:38:22 +0100 Subject: [PATCH 092/309] Support for LspSaga (#48) * lspsaga: update readme add lspsaga to the readme * feat: code actions and diagnostics hl-groups Highlight groups for: - code actions - diagnostics * feat(nvim): add some more colors Adding some more lspsaga colors. * feat(lspsaga): finishing touches Add the finihing touches and add the last needed highlightgroups Disclaimer: Preview Definitions still don't work * style(lspsaga): remove comments and rearrange Remove uneeded comments and rearrange some code * fix(lspsaga): preview definitions Preview Definitions now get highlighted! Why? Because it's *Definitions* not *Defintions* * feat(lspsaga): add one new highlight Add LspSagaBorderTitle highlight * fix(lspsaga): remove lspsaga.norg * style(lspsaga): rearrange diagnostic highlights Rearrange `DiagnosticInformation` and `DiagnosticWarning` to their respective spots * Revert "Merge branch 'main' into main" This reverts commit 5d26b3da8b64630543de126e8557900330b629a9, reversing changes made to 12cfac46f36cebfbff6c2ffd304f1ea62f8ab15a. * lspsaga: update readme add lspsaga to the readme * feat: code actions and diagnostics hl-groups Highlight groups for: - code actions - diagnostics * style(lspsaga): remove comments and rearrange Remove uneeded comments and rearrange some code * style(lspsaga): rearrange diagnostic highlights Rearrange `DiagnosticInformation` and `DiagnosticWarning` to their respective spots * Revert "Merge branch 'main' into main" This reverts commit 5d26b3da8b64630543de126e8557900330b629a9, reversing changes made to 12cfac46f36cebfbff6c2ffd304f1ea62f8ab15a. * fix(lspsaga): add missing diagnostc groups * style(lspsaga): format with stylua * chore: format Co-authored-by: mvllow --- lua/rose-pine/theme.lua | 40 ++++++++++++++++++++++++++++++++++++++++ readme.md | 1 + 2 files changed, 41 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 815fcfb..3337bb9 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -176,7 +176,9 @@ local theme = { DiagnosticHint = { fg = config.colors.hint }, DiagnosticInfo = { fg = config.colors.info }, + DiagnosticInformation = { link = 'DiagnosticInfo' }, DiagnosticWarn = { fg = config.colors.warn }, + DiagnosticWarning = { link = 'DiagnosticWarn' }, DiagnosticError = { fg = config.colors.error }, DiagnosticDefaultHint = { fg = config.colors.hint }, DiagnosticDefaultInfo = { fg = config.colors.info }, @@ -428,6 +430,44 @@ local theme = { NeorgHeading6Title = { fg = config.colors.headings.h6, style = 'bold' }, NeorgMarkerTitle = { fg = p.text, style = 'bold' }, + -- LspSaga + -- https://github.com/tami5/lspsaga.nvim (fork of https://github.com/glepnir/lspsaga.nvim) + LspSagaCodeActionTitle = { + fg = p.gold, + style = 'bold', + }, + LspSagaCodeActionBorder = { fg = p.subtle }, + LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' }, + LspSagaCodeActionContent = { fg = p.foam }, + LspSagaDiagnosticBorder = { fg = p.subtle }, + LspSagaDiagnosticHeader = { + fg = p.gold, + style = 'bold', + }, + LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' }, + LspSagaFinderSelection = { fg = p.gold }, + LspSagaLspFinderBorder = { fg = p.subtle }, + LspSagaAutoPreview = { fg = p.subtle }, + LspSagaDefPreviewBorder = { fg = p.subtle }, + 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 = p.subtle }, + LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' }, + LspSagaHoverBorder = { fg = p.subtle }, + LspSagaSignatureHelpBorder = { fg = p.pine }, + LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' }, + TargetWord = { fg = p.iris }, + + SagaShadow = { bg = p.overlay }, } vim.g.terminal_color_0 = p.overlay -- black diff --git a/readme.md b/readme.md index 5b7d666..1fad0f7 100644 --- a/readme.md +++ b/readme.md @@ -38,6 +38,7 @@ use({ - **[Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)** - **[Neogit](https://github.com/TimUntersberger/neogit)** - **[Neorg](https://github.com/nvim-neorg/neorg)** +- **[Lspsaga](https://github.com/tami5/lspsaga.nvim)** - **[Lualine](https://github.com/hoob3rt/lualine.nvim)** ```lua require('lualine').setup({ From 812bb12e29f421e88cc97086b4f55ee008785f46 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 21 Dec 2021 11:05:10 -0600 Subject: [PATCH 093/309] chore: add coloured diff backgrounds fixes #51 --- lua/rose-pine/theme.lua | 10 ++++++---- lua/rose-pine/util.lua | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 lua/rose-pine/util.lua diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 3337bb9..029c6f6 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,4 +1,5 @@ local config = require('rose-pine.config') +local util = require('rose-pine.util') local p = require('rose-pine.palette') -- TODO: Refactor `maybe` logic @@ -38,10 +39,11 @@ local theme = { CursorLineNr = { fg = p.text }, DarkenedPanel = { bg = p.surface }, DarkenedStatusline = { bg = p.surface }, - DiffAdd = { fg = p.foam }, - DiffChange = { fg = p.rose }, - DiffDelete = { fg = p.love }, - DiffText = { fg = p.text }, + -- 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(p.foam, p.base, 0.1) }, + DiffChange = { bg = util.blend(p.rose, p.base, 0.1) }, + DiffDelete = { bg = util.blend(p.love, p.base, 0.1) }, + DiffText = { bg = util.blend(p.subtle, p.base, 0.1) }, diffAdded = { link = 'DiffAdd' }, diffChanged = { link = 'DiffChange' }, diffRemoved = { link = 'DiffDelete' }, diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua new file mode 100644 index 0000000..fe60e27 --- /dev/null +++ b/lua/rose-pine/util.lua @@ -0,0 +1,37 @@ +local util = {} + +local function get_byte(value, offset) + return bit.band(bit.rshift(value, offset), 0xFF) +end + +local function get_color(color) + color = vim.api.nvim_get_color_by_name(color) + + if color == -1 then + color = vim.opt.background:get() == 'dark' and 000 or 255255255 + end + + return { get_byte(color, 16), get_byte(color, 8), get_byte(color, 0) } +end + +---@param fg string foreground color +---@param bg string background color +---@param alpha number number between 0 and 1. 0 results in bg, 1 results in fg +function util.blend(fg, bg, alpha) + bg = get_color(bg) + fg = get_color(fg) + + local blendChannel = function(i) + local ret = (alpha * fg[i] + ((1 - alpha) * bg[i])) + return math.floor(math.min(math.max(0, ret), 255) + 0.5) + end + + return string.format( + '#%02X%02X%02X', + blendChannel(1), + blendChannel(2), + blendChannel(3) + ) +end + +return util From d48856ebcf29b80650cd6dc9d3d136bfc253692f Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 30 Dec 2021 10:49:09 -0600 Subject: [PATCH 094/309] chore: match treesitter operator colour --- lua/rose-pine/theme.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 029c6f6..95b553d 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -265,14 +265,14 @@ local theme = { TSInclude = { fg = p.pine }, TSKeyword = { fg = p.pine }, -- TSKeywordFunction = {}, - TSKeywordOperator = { fg = p.pine }, + TSKeywordOperator = { fg = p.subtle }, TSLabel = { fg = p.foam }, -- TSLiteral = {}, -- TSMethod = {}, -- TSNamespace = {}, -- TSNone = {}, -- TSNumber = {}, - TSOperator = { fg = p.pine }, + TSOperator = { fg = p.subtle }, TSParameter = { fg = p.iris, style = maybe_italic, From bc7ec7ab69dc19d84b8e6d686d63e16f1226c6f3 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 30 Dec 2021 10:51:34 -0600 Subject: [PATCH 095/309] feat: add `TSStringSpecial` --- lua/rose-pine/theme.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 95b553d..bcfdeb1 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -290,6 +290,7 @@ local theme = { TSString = { fg = p.gold }, TSStringEscape = { fg = p.pine }, -- TSStringRegex = {}, + TSStringSpecial = { link = 'TSString' }, -- TSSymbol = {}, TSTag = { fg = p.foam }, TSTagDelimiter = { fg = p.subtle }, From 6986aee1e34f68602211d391166be7d2d949f3d7 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 30 Dec 2021 11:34:54 -0600 Subject: [PATCH 096/309] fix: diff changed contrast ref #51 --- lua/rose-pine/theme.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index bcfdeb1..f503d1a 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -40,10 +40,10 @@ local theme = { DarkenedPanel = { bg = p.surface }, DarkenedStatusline = { bg = p.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(p.foam, p.base, 0.1) }, - DiffChange = { bg = util.blend(p.rose, p.base, 0.1) }, - DiffDelete = { bg = util.blend(p.love, p.base, 0.1) }, - DiffText = { bg = util.blend(p.subtle, p.base, 0.1) }, + DiffAdd = { bg = util.blend(p.foam, p.base, 0.5) }, + DiffChange = { bg = p.overlay }, + DiffDelete = { bg = util.blend(p.love, p.base, 0.5) }, + DiffText = { bg = util.blend(p.rose, p.base, 0.5) }, diffAdded = { link = 'DiffAdd' }, diffChanged = { link = 'DiffChange' }, diffRemoved = { link = 'DiffDelete' }, From 617fb080ac5180f716ca24998c606e626ebf4ae8 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 30 Dec 2021 23:05:55 -0600 Subject: [PATCH 097/309] fix: barbar buffer target ref #52 --- lua/rose-pine/theme.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index f503d1a..c6ad196 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -313,14 +313,17 @@ local theme = { BufferCurrentIndex = { fg = p.text, bg = p.overlay }, BufferCurrentMod = { fg = p.foam, bg = p.overlay }, BufferCurrentSign = { fg = p.subtle, bg = p.overlay }, + BufferCurrentTarget = { fg = p.gold, bg = p.overlay }, BufferInactive = { fg = p.subtle }, BufferInactiveIndex = { fg = p.subtle }, BufferInactiveMod = { fg = p.foam }, BufferInactiveSign = { fg = p.inactive }, + BufferInactiveTarget = { fg = p.gold }, BufferVisible = { fg = p.subtle }, BufferVisibleIndex = { fg = p.subtle }, BufferVisibleMod = { fg = p.foam }, BufferVisibleSign = { fg = p.inactive }, + BufferVisibleTarget = { fg = p.gold }, -- gitsigns.nvim -- https://github.com/lewis6991/gitsigns.nvim From ed2dd129b6496c17d1105361f5c3dbb6e144daee Mon Sep 17 00:00:00 2001 From: Daniel Mathiot Date: Tue, 4 Jan 2022 16:29:16 +0100 Subject: [PATCH 098/309] feat: Add lsp_signature highlight (#54) --- lua/rose-pine/theme.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index c6ad196..60b4a3b 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -474,6 +474,10 @@ local theme = { TargetWord = { fg = p.iris }, SagaShadow = { bg = p.overlay }, + + -- Lsp_Signature + -- https://github.com/ray-x/lsp_signature.nvim + LspSignatureActiveParameter = { bg = p.overlay }, } vim.g.terminal_color_0 = p.overlay -- black From e0fd291fb0b95fdf9b4473ee35770dfd47dbe50c Mon Sep 17 00:00:00 2001 From: not Date: Fri, 21 Jan 2022 20:27:22 -0600 Subject: [PATCH 099/309] Update palette (#58) * chore: format * feat!: use new palette - color "inactive" has been renamed to "muted" - update subtle and muted colors --- .stylua.toml | 2 +- lua/lualine/themes/rose-pine.lua | 6 +++--- lua/rose-pine/galaxyline/theme.lua | 28 ++++++++++++++-------------- lua/rose-pine/init.lua | 17 +++-------------- lua/rose-pine/palette.lua | 12 ++++++------ lua/rose-pine/theme.lua | 14 +++++++------- lua/rose-pine/util.lua | 7 +------ 7 files changed, 35 insertions(+), 51 deletions(-) diff --git a/.stylua.toml b/.stylua.toml index 85d575e..ffab677 100644 --- a/.stylua.toml +++ b/.stylua.toml @@ -1,3 +1,3 @@ -column_width = 80 +column_width = 100 indent_type = "Tabs" quote_style = "AutoPreferSingle" diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index f17aec5..dde3075 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -27,8 +27,8 @@ return { c = { bg = p.base, fg = p.text }, }, inactive = { - a = { bg = p.base, fg = p.inactive, gui = 'bold' }, - b = { bg = p.base, fg = p.inactive }, - c = { bg = p.base, fg = p.inactive }, + a = { bg = p.base, fg = p.muted, gui = 'bold' }, + b = { bg = p.base, fg = p.muted }, + c = { bg = p.base, fg = p.muted }, }, } diff --git a/lua/rose-pine/galaxyline/theme.lua b/lua/rose-pine/galaxyline/theme.lua index eb8db58..5142949 100644 --- a/lua/rose-pine/galaxyline/theme.lua +++ b/lua/rose-pine/galaxyline/theme.lua @@ -1,19 +1,19 @@ -local present, galaxyline_colors = pcall(require, "galaxyline.themes.colors") +local present, galaxyline_colors = pcall(require, 'galaxyline.themes.colors') if not present then - return + return end -local palette = require("rose-pine.palette") +local palette = require('rose-pine.palette') -galaxyline_colors["rose-pine"] = { - bg = palette.overlay, - fg = palette.text, - fg_alt = palette.subtle, - yellow = palette.gold, - cyan = palette.foam, - green = palette.inactive, - orange = palette.rose, - magenta = palette.iris, - blue = palette.foam, - red = palette.love, +galaxyline_colors['rose-pine'] = { + bg = palette.overlay, + fg = palette.text, + fg_alt = palette.subtle, + blue = palette.foam, + cyan = palette.foam, + green = palette.muted, + magenta = palette.iris, + orange = palette.rose, + red = palette.love, + yellow = palette.gold, } diff --git a/lua/rose-pine/init.lua b/lua/rose-pine/init.lua index f07ee01..f872457 100644 --- a/lua/rose-pine/init.lua +++ b/lua/rose-pine/init.lua @@ -23,16 +23,7 @@ function M.colorscheme() local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE' local sp = color.sp and 'guisp=' .. color.sp or '' - local hl = 'highlight ' - .. group - .. ' ' - .. style - .. ' ' - .. fg - .. ' ' - .. bg - .. ' ' - .. sp + local hl = 'highlight ' .. group .. ' ' .. style .. ' ' .. fg .. ' ' .. bg .. ' ' .. sp vim.cmd(hl) if color.link then @@ -49,7 +40,7 @@ end function M.set(variant) vim.g.rose_pine_variant = variant - vim.cmd([[colorscheme rose-pine]]) + vim.cmd('colorscheme rose-pine') end function M.toggle(variants) @@ -64,9 +55,7 @@ function M.toggle(variants) vim.g.rose_pine_current_variant = index[vim.g.rose_pine_variant] or 0 end - vim.g.rose_pine_current_variant = ( - vim.g.rose_pine_current_variant % #variants - ) + 1 + vim.g.rose_pine_current_variant = (vim.g.rose_pine_current_variant % #variants) + 1 M.set(variants[vim.g.rose_pine_current_variant]) end diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index e73caee..25216f5 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -3,8 +3,8 @@ local variants = { base = '#191724', surface = '#1f1d2e', overlay = '#26233a', - inactive = '#555169', - subtle = '#6e6a86', + muted = '#6e6a86', + subtle = '#908caa', text = '#e0def4', love = '#eb6f92', gold = '#f6c177', @@ -20,8 +20,8 @@ local variants = { base = '#232136', surface = '#2a273f', overlay = '#393552', - inactive = '#59546d', - subtle = '#817c9c', + muted = '#6e6a86', + subtle = '#908caa', text = '#e0def4', love = '#eb6f92', gold = '#f6c177', @@ -37,8 +37,8 @@ local variants = { base = '#faf4ed', surface = '#fffaf3', overlay = '#f2e9de', - inactive = '#9893a5', - subtle = '#6e6a86', + muted = '#9893a5', + subtle = '#797593', text = '#575279', love = '#b4637a', gold = '#ea9d34', diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 60b4a3b..b982372 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -54,18 +54,18 @@ local theme = { FoldColumn = {}, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight_med }, - LineNr = { fg = p.inactive }, + LineNr = { fg = p.muted }, MatchParen = { fg = p.text, bg = p.highlight_med }, ModeMsg = { fg = p.subtle }, MoreMsg = { fg = p.iris }, - NonText = { fg = p.inactive }, + NonText = { fg = p.muted }, Normal = { fg = p.text, bg = maybe_background }, NormalNC = { fg = p.text, bg = maybe_inactive_background }, NormalFloat = { fg = p.text, bg = maybe_float_background }, Pmenu = { fg = p.subtle, bg = maybe_float_background }, PmenuSbar = { bg = p.overlay }, PmenuSel = { fg = p.text, bg = p.overlay }, - PmenuThumb = { bg = p.inactive }, + PmenuThumb = { bg = p.muted }, Question = { fg = p.gold }, -- QuickFixLine = {}, Search = { fg = p.iris, bg = p.highlight_high }, @@ -81,7 +81,7 @@ local theme = { -- StatusLineTermNC = {}, TabLine = { fg = p.subtle, bg = p.overlay }, TabLineFill = { bg = p.surface }, - TabLineSel = { fg = p.text, bg = p.inactive }, + TabLineSel = { fg = p.text, bg = p.muted }, Title = { fg = p.text }, VertSplit = maybe_bold_vert_split, Visual = { bg = p.highlight_med }, @@ -317,12 +317,12 @@ local theme = { BufferInactive = { fg = p.subtle }, BufferInactiveIndex = { fg = p.subtle }, BufferInactiveMod = { fg = p.foam }, - BufferInactiveSign = { fg = p.inactive }, + BufferInactiveSign = { fg = p.muted }, BufferInactiveTarget = { fg = p.gold }, BufferVisible = { fg = p.subtle }, BufferVisibleIndex = { fg = p.subtle }, BufferVisibleMod = { fg = p.foam }, - BufferVisibleSign = { fg = p.inactive }, + BufferVisibleSign = { fg = p.muted }, BufferVisibleTarget = { fg = p.gold }, -- gitsigns.nvim @@ -350,7 +350,7 @@ local theme = { NvimTreeFileNew = { fg = p.foam }, NvimTreeFileRenamed = { fg = p.pine }, NvimTreeFileStaged = { fg = p.iris }, - NvimTreeEmptyFolderName = { fg = p.inactive }, + NvimTreeEmptyFolderName = { fg = p.muted }, NvimTreeFolderIcon = { fg = p.subtle }, NvimTreeFolderName = { fg = p.foam }, NvimTreeImageFile = { fg = p.text }, diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index fe60e27..8ad79d4 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -26,12 +26,7 @@ function util.blend(fg, bg, alpha) return math.floor(math.min(math.max(0, ret), 255) + 0.5) end - return string.format( - '#%02X%02X%02X', - blendChannel(1), - blendChannel(2), - blendChannel(3) - ) + return string.format('#%02X%02X%02X', blendChannel(1), blendChannel(2), blendChannel(3)) end return util From f8c9ac7dad8e6765a175d6671aa54aec64b4f6a6 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 21 Jan 2022 21:06:59 -0600 Subject: [PATCH 100/309] wip: add bufferline starting point ref #56 --- lua/rose-pine/bufferline/init.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lua/rose-pine/bufferline/init.lua diff --git a/lua/rose-pine/bufferline/init.lua b/lua/rose-pine/bufferline/init.lua new file mode 100644 index 0000000..3ae77b4 --- /dev/null +++ b/lua/rose-pine/bufferline/init.lua @@ -0,0 +1,23 @@ +local p = require('rose-pine.palette') + +-- TODO: Someone who uses bufferline.nvim is free to PR with this addition +-- `:h bufferline-highlights` +-- +-- The intended use would be (or any better solution): +-- +-- ``` +-- local highlights = require('rose-pine.bufferline') +-- require('bufferline').setup({ +-- highlights = highlights +-- }) +-- ``` +return { + fill = { + guifg = p.text, + guibg = p.base, + }, + background = { + guifg = p.text, + guibg = p.base, + }, +} From 06fca4e0071746da26e06e401df21105dedb12cd Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 23 Jan 2022 18:27:38 -0600 Subject: [PATCH 101/309] darken statusline foreground --- lua/rose-pine/theme.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index b982372..2d4e8d5 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -75,8 +75,8 @@ local theme = { SpellLocal = { style = 'undercurl', sp = p.subtle }, SpellRare = { style = 'undercurl', sp = p.subtle }, SignColumn = { fg = p.text, bg = maybe_background }, - StatusLine = { fg = p.text, bg = p.surface }, - StatusLineNC = { fg = p.subtle, bg = p.surface }, + StatusLine = { fg = p.subtle, bg = p.surface }, + StatusLineNC = { fg = p.muted, bg = p.surface }, -- StatusLineTerm = {}, -- StatusLineTermNC = {}, TabLine = { fg = p.subtle, bg = p.overlay }, From 556b04d0180af089e1beffabc2442a3deb8aa836 Mon Sep 17 00:00:00 2001 From: Devin <47056144+ikws4@users.noreply.github.com> Date: Tue, 25 Jan 2022 22:10:51 +0800 Subject: [PATCH 102/309] feat: add support for pounce.nvim (#60) --- lua/rose-pine/theme.lua | 7 +++++++ readme.md | 2 ++ 2 files changed, 9 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 2d4e8d5..059f0a9 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -478,6 +478,13 @@ local theme = { -- Lsp_Signature -- https://github.com/ray-x/lsp_signature.nvim LspSignatureActiveParameter = { bg = p.overlay }, + + -- pounce + -- https://github.com/rlane/pounce.nvim + PounceMatch = { link = 'Search' }, + PounceGap = { link = 'Search' }, + PounceAccept = { fg = p.love, bg = p.highlight_high }, + PounceAcceptBest = { fg = p.base, bg = p.gold }, } vim.g.terminal_color_0 = p.overlay -- black diff --git a/readme.md b/readme.md index 1fad0f7..a000008 100644 --- a/readme.md +++ b/readme.md @@ -39,7 +39,9 @@ use({ - **[Neogit](https://github.com/TimUntersberger/neogit)** - **[Neorg](https://github.com/nvim-neorg/neorg)** - **[Lspsaga](https://github.com/tami5/lspsaga.nvim)** +- **[Pounce](https://github.com/rlane/pounce.nvim)** - **[Lualine](https://github.com/hoob3rt/lualine.nvim)** + ```lua require('lualine').setup({ options = { theme = 'rose-pine' } From ac704d114e741434291353bd91b59802473dde5e Mon Sep 17 00:00:00 2001 From: yuhixyz <50203860+yuhixyz@users.noreply.github.com> Date: Tue, 25 Jan 2022 22:12:05 +0800 Subject: [PATCH 103/309] vimwikilink add underline style (#61) --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 059f0a9..700637f 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -415,7 +415,7 @@ local theme = { VimwikiHeader5 = { fg = config.colors.headings.h5, style = 'bold' }, VimwikiHeader6 = { fg = config.colors.headings.h6, style = 'bold' }, VimwikiHeaderChar = { fg = p.pine }, - VimwikiLink = { fg = p.rose }, + VimwikiLink = { fg = p.rose, style = 'underline' }, VimwikiList = { fg = p.iris }, VimwikiNoExistsLink = { fg = p.love }, From 7ecc4a9dfb77561dc791e96326d0fb81609300c2 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 26 Jan 2022 10:36:18 -0600 Subject: [PATCH 104/309] feat: support `FoldColumn` --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 700637f..c3f0c5e 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -51,7 +51,7 @@ local theme = { -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, FloatBorder = { fg = p.subtle }, - FoldColumn = {}, + FoldColumn = { fg = p.muted }, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight_med }, LineNr = { fg = p.muted }, From 6a4eeaaac3eaac0b9d788ad1b06bc90dd299d9f8 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 26 Jan 2022 21:32:05 -0600 Subject: [PATCH 105/309] update search highlights --- lua/rose-pine/theme.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index c3f0c5e..c0f4ad8 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -53,7 +53,7 @@ local theme = { FloatBorder = { fg = p.subtle }, FoldColumn = { fg = p.muted }, Folded = { fg = p.text, bg = p.surface }, - IncSearch = { bg = p.highlight_med }, + IncSearch = { bg = p.highlight_high }, LineNr = { fg = p.muted }, MatchParen = { fg = p.text, bg = p.highlight_med }, ModeMsg = { fg = p.subtle }, @@ -68,7 +68,7 @@ local theme = { PmenuThumb = { bg = p.muted }, Question = { fg = p.gold }, -- QuickFixLine = {}, - Search = { fg = p.iris, bg = p.highlight_high }, + Search = { bg = p.highlight_med }, SpecialKey = { fg = p.foam }, SpellBad = { style = 'undercurl', sp = p.love }, SpellCap = { style = 'undercurl', sp = p.subtle }, From 34e6fd25ce7939a45f0116c2c7eb02526b47e712 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 28 Jan 2022 15:11:59 -0600 Subject: [PATCH 106/309] feat: add support for telescope.nvim and allow border overrides --- lua/rose-pine/config.lua | 1 + lua/rose-pine/theme.lua | 166 ++++++++++++++++++++------------------- readme.md | 3 + 3 files changed, 90 insertions(+), 80 deletions(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 3418757..5fc752d 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -9,6 +9,7 @@ local config = { colors = { punctuation = palette.subtle, comment = palette.subtle, + border = palette.highlight_med, hint = palette.iris, info = palette.foam, warn = palette.gold, diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index c0f4ad8..beb9622 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,6 +1,7 @@ local config = require('rose-pine.config') local util = require('rose-pine.util') local p = require('rose-pine.palette') +local c = config.colors -- TODO: Refactor `maybe` logic local maybe_inactive_background = p.none @@ -50,7 +51,7 @@ local theme = { Directory = { fg = p.foam, bg = p.none }, -- EndOfBuffer = {}, ErrorMsg = { fg = p.love, style = 'bold' }, - FloatBorder = { fg = p.subtle }, + FloatBorder = { fg = c.border }, FoldColumn = { fg = p.muted }, Folded = { fg = p.text, bg = p.surface }, IncSearch = { bg = p.highlight_high }, @@ -93,7 +94,7 @@ local theme = { Boolean = { fg = p.gold }, Character = { fg = p.gold }, Comment = { - fg = config.colors.comment, + fg = c.comment, style = maybe_italic, }, Conditional = { fg = p.pine }, @@ -132,29 +133,29 @@ local theme = { htmlArg = { fg = p.iris }, htmlBold = { fg = p.text, style = 'bold' }, htmlEndTag = { fg = p.subtle }, - htmlH1 = { fg = config.colors.headings.h1, style = 'bold' }, - htmlH2 = { fg = config.colors.headings.h2, style = 'bold' }, - htmlH3 = { fg = config.colors.headings.h3, style = 'bold' }, - htmlH4 = { fg = config.colors.headings.h4, style = 'bold' }, - htmlH5 = { fg = config.colors.headings.h5, style = 'bold' }, + htmlH1 = { fg = c.headings.h1, style = 'bold' }, + htmlH2 = { fg = c.headings.h2, style = 'bold' }, + htmlH3 = { fg = c.headings.h3, style = 'bold' }, + htmlH4 = { fg = c.headings.h4, style = 'bold' }, + htmlH5 = { fg = c.headings.h5, style = 'bold' }, htmlItalic = { fg = p.text, style = maybe_italic }, htmlLink = { fg = p.text }, htmlTag = { fg = p.subtle }, htmlTagN = { fg = p.text }, htmlTagName = { fg = p.foam }, - markdownH1 = { fg = config.colors.headings.h1, style = 'bold' }, - markdownH1Delimiter = { fg = config.colors.headings.h1 }, - markdownH2 = { fg = config.colors.headings.h2, style = 'bold' }, - markdownH2Delimiter = { fg = config.colors.headings.h2 }, - markdownH3 = { fg = config.colors.headings.h3, style = 'bold' }, - markdownH3Delimiter = { fg = config.colors.headings.h3 }, - markdownH4 = { fg = config.colors.headings.h4, style = 'bold' }, - markdownH4Delimiter = { fg = config.colors.headings.h4 }, - markdownH5 = { fg = config.colors.headings.h5, style = 'bold' }, - markdownH5Delimiter = { fg = config.colors.headings.h5 }, - markdownH6 = { fg = config.colors.headings.h6, style = 'bold' }, - markdownH6Delimiter = { fg = config.colors.headings.h6 }, + markdownH1 = { fg = c.headings.h1, style = 'bold' }, + markdownH1Delimiter = { fg = c.headings.h1 }, + markdownH2 = { fg = c.headings.h2, style = 'bold' }, + markdownH2Delimiter = { fg = c.headings.h2 }, + markdownH3 = { fg = c.headings.h3, style = 'bold' }, + markdownH3Delimiter = { fg = c.headings.h3 }, + markdownH4 = { fg = c.headings.h4, style = 'bold' }, + markdownH4Delimiter = { fg = c.headings.h4 }, + markdownH5 = { fg = c.headings.h5, style = 'bold' }, + markdownH5Delimiter = { fg = c.headings.h5 }, + markdownH6 = { fg = c.headings.h6, style = 'bold' }, + markdownH6Delimiter = { fg = c.headings.h6 }, markdownDelimiter = { fg = p.subtle }, markdownLinkText = { fg = p.iris, style = 'underline' }, markdownUrl = { fg = p.iris, style = 'underline' }, @@ -176,35 +177,35 @@ local theme = { -- ^ ^ typescriptParens = { bg = p.none }, - DiagnosticHint = { fg = config.colors.hint }, - DiagnosticInfo = { fg = config.colors.info }, + DiagnosticHint = { fg = c.hint }, + DiagnosticInfo = { fg = c.info }, DiagnosticInformation = { link = 'DiagnosticInfo' }, - DiagnosticWarn = { fg = config.colors.warn }, + DiagnosticWarn = { fg = c.warn }, DiagnosticWarning = { link = 'DiagnosticWarn' }, - DiagnosticError = { fg = config.colors.error }, - DiagnosticDefaultHint = { fg = config.colors.hint }, - DiagnosticDefaultInfo = { fg = config.colors.info }, - DiagnosticDefaultWarn = { fg = config.colors.warn }, - DiagnosticDefaultError = { fg = config.colors.error }, - DiagnosticFloatingHint = { fg = config.colors.hint }, - DiagnosticFloatingInfo = { fg = config.colors.info }, - DiagnosticFloatingWarn = { fg = config.colors.warn }, - DiagnosticFloatingError = { fg = config.colors.error }, - DiagnosticSignHint = { fg = config.colors.hint }, - DiagnosticSignInfo = { fg = config.colors.info }, - DiagnosticSignWarn = { fg = config.colors.warn }, - DiagnosticSignError = { fg = config.colors.error }, - DiagnosticUnderlineHint = { style = 'undercurl', sp = config.colors.hint }, - DiagnosticUnderlineInfo = { style = 'undercurl', sp = config.colors.info }, - DiagnosticUnderlineWarn = { style = 'undercurl', sp = config.colors.warn }, + DiagnosticError = { fg = c.error }, + DiagnosticDefaultHint = { fg = c.hint }, + DiagnosticDefaultInfo = { fg = c.info }, + DiagnosticDefaultWarn = { fg = c.warn }, + DiagnosticDefaultError = { fg = c.error }, + DiagnosticFloatingHint = { fg = c.hint }, + DiagnosticFloatingInfo = { fg = c.info }, + DiagnosticFloatingWarn = { fg = c.warn }, + DiagnosticFloatingError = { fg = c.error }, + DiagnosticSignHint = { fg = c.hint }, + DiagnosticSignInfo = { fg = c.info }, + DiagnosticSignWarn = { fg = c.warn }, + DiagnosticSignError = { fg = c.error }, + DiagnosticUnderlineHint = { style = 'undercurl', sp = c.hint }, + DiagnosticUnderlineInfo = { style = 'undercurl', sp = c.info }, + DiagnosticUnderlineWarn = { style = 'undercurl', sp = c.warn }, DiagnosticUnderlineError = { style = 'undercurl', - sp = config.colors.error, + sp = c.error, }, - DiagnosticVirtualTextHint = { fg = config.colors.hint }, - DiagnosticVirtualTextInfo = { fg = config.colors.info }, - DiagnosticVirtualTextWarn = { fg = config.colors.warn }, - DiagnosticVirtualTextError = { fg = config.colors.error }, + DiagnosticVirtualTextHint = { fg = c.hint }, + DiagnosticVirtualTextInfo = { fg = c.info }, + DiagnosticVirtualTextWarn = { fg = c.warn }, + DiagnosticVirtualTextError = { fg = c.error }, LspReferenceText = { fg = p.rose, bg = p.highlight_med }, LspReferenceRead = { fg = p.rose, bg = p.highlight_med }, @@ -246,7 +247,7 @@ local theme = { TSBoolean = { fg = p.rose }, -- TSCharacter = {}, TSComment = { - fg = config.colors.comment, + fg = c.comment, style = maybe_italic, }, -- TSConditional = {}, @@ -282,9 +283,9 @@ local theme = { fg = p.iris, style = maybe_italic, }, - TSPunctBracket = { fg = config.colors.punctuation }, - TSPunctDelimiter = { fg = config.colors.punctuation }, - TSPunctSpecial = { fg = config.colors.punctuation }, + TSPunctBracket = { fg = c.punctuation }, + TSPunctDelimiter = { fg = c.punctuation }, + TSPunctSpecial = { fg = c.punctuation }, -- TSRepeat = {}, -- TSStrike = {}, TSString = { fg = p.gold }, @@ -295,7 +296,7 @@ local theme = { TSTag = { fg = p.foam }, TSTagDelimiter = { fg = p.subtle }, TSText = { fg = p.text }, - TSTitle = { fg = config.colors.headings.h1, style = 'bold' }, + TSTitle = { fg = c.headings.h1, style = 'bold' }, -- TSType = {}, -- TSTypeBuiltin = {}, TSURI = { fg = p.gold }, @@ -408,12 +409,12 @@ local theme = { -- VimWiki -- https://github.com/vimwiki/vimwiki VimwikiHR = { fg = p.subtle }, - VimwikiHeader1 = { fg = config.colors.headings.h1, style = 'bold' }, - VimwikiHeader2 = { fg = config.colors.headings.h2, style = 'bold' }, - VimwikiHeader3 = { fg = config.colors.headings.h3, style = 'bold' }, - VimwikiHeader4 = { fg = config.colors.headings.h4, style = 'bold' }, - VimwikiHeader5 = { fg = config.colors.headings.h5, style = 'bold' }, - VimwikiHeader6 = { fg = config.colors.headings.h6, style = 'bold' }, + VimwikiHeader1 = { fg = c.headings.h1, style = 'bold' }, + VimwikiHeader2 = { fg = c.headings.h2, style = 'bold' }, + VimwikiHeader3 = { fg = c.headings.h3, style = 'bold' }, + VimwikiHeader4 = { fg = c.headings.h4, style = 'bold' }, + VimwikiHeader5 = { fg = c.headings.h5, style = 'bold' }, + VimwikiHeader6 = { fg = c.headings.h6, style = 'bold' }, VimwikiHeaderChar = { fg = p.pine }, VimwikiLink = { fg = p.rose, style = 'underline' }, VimwikiList = { fg = p.iris }, @@ -421,19 +422,19 @@ local theme = { -- Neorg -- https://github.com/nvim-neorg/neorg - NeorgHeading1Prefix = { fg = config.colors.headings.h1, style = 'bold' }, - NeorgHeading2Prefix = { fg = config.colors.headings.h2, style = 'bold' }, - NeorgHeading3Prefix = { fg = config.colors.headings.h3, style = 'bold' }, - NeorgHeading4Prefix = { fg = config.colors.headings.h4, style = 'bold' }, - NeorgHeading5Prefix = { fg = config.colors.headings.h5, style = 'bold' }, - NeorgHeading6Prefix = { fg = config.colors.headings.h6, style = 'bold' }, + NeorgHeading1Prefix = { fg = c.headings.h1, style = 'bold' }, + NeorgHeading2Prefix = { fg = c.headings.h2, style = 'bold' }, + NeorgHeading3Prefix = { fg = c.headings.h3, style = 'bold' }, + NeorgHeading4Prefix = { fg = c.headings.h4, style = 'bold' }, + NeorgHeading5Prefix = { fg = c.headings.h5, style = 'bold' }, + NeorgHeading6Prefix = { fg = c.headings.h6, style = 'bold' }, - NeorgHeading1Title = { fg = config.colors.headings.h1, style = 'bold' }, - NeorgHeading2Title = { fg = config.colors.headings.h2, style = 'bold' }, - NeorgHeading3Title = { fg = config.colors.headings.h3, style = 'bold' }, - NeorgHeading4Title = { fg = config.colors.headings.h4, style = 'bold' }, - NeorgHeading5Title = { fg = config.colors.headings.h5, style = 'bold' }, - NeorgHeading6Title = { fg = config.colors.headings.h6, style = 'bold' }, + NeorgHeading1Title = { fg = c.headings.h1, style = 'bold' }, + NeorgHeading2Title = { fg = c.headings.h2, style = 'bold' }, + NeorgHeading3Title = { fg = c.headings.h3, style = 'bold' }, + NeorgHeading4Title = { fg = c.headings.h4, style = 'bold' }, + NeorgHeading5Title = { fg = c.headings.h5, style = 'bold' }, + NeorgHeading6Title = { fg = c.headings.h6, style = 'bold' }, NeorgMarkerTitle = { fg = p.text, style = 'bold' }, -- LspSaga @@ -442,33 +443,27 @@ local theme = { fg = p.gold, style = 'bold', }, - LspSagaCodeActionBorder = { fg = p.subtle }, + LspSagaCodeActionBorder = { fg = c.border }, LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' }, LspSagaCodeActionContent = { fg = p.foam }, - LspSagaDiagnosticBorder = { fg = p.subtle }, - LspSagaDiagnosticHeader = { - fg = p.gold, - style = 'bold', - }, + LspSagaDiagnosticBorder = { fg = c.border }, + LspSagaDiagnosticHeader = { fg = p.gold, style = 'bold' }, LspSagaDiagnosticTruncateLine = { link = 'LspSagaDiagnosticBorder' }, LspSagaFinderSelection = { fg = p.gold }, - LspSagaLspFinderBorder = { fg = p.subtle }, + LspSagaLspFinderBorder = { fg = c.border }, LspSagaAutoPreview = { fg = p.subtle }, - LspSagaDefPreviewBorder = { 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', - }, + DefintionPreviewTitle = { fg = p.rose, style = 'bold' }, LspSagaRenamePromptPrefix = { fg = p.love }, LspSagaRenameBorder = { fg = p.pine }, LspFloatWinNormal = { bg = p.base }, - LspFloatWinBorder = { fg = p.subtle }, + LspFloatWinBorder = { fg = c.border }, LspSagaDocTruncateLine = { link = 'LspSagaHoverBorder' }, - LspSagaHoverBorder = { fg = p.subtle }, + LspSagaHoverBorder = { fg = c.border }, LspSagaSignatureHelpBorder = { fg = p.pine }, LspSagaShTruncateLine = { link = 'LspSagaSignatureHelpBorder' }, TargetWord = { fg = p.iris }, @@ -485,6 +480,17 @@ local theme = { PounceGap = { link = 'Search' }, PounceAccept = { fg = p.love, bg = p.highlight_high }, PounceAcceptBest = { fg = p.base, bg = p.gold }, + + -- telescope.nvim + -- https://github.com/nvim-telescope/telescope.nvim + TelescopeNormal = { fg = p.subtle }, + TelescopePromptNormal = { fg = p.text }, + TelescopeBorder = { fg = c.border }, + TelescopeMatching = { fg = p.rose }, + TelescopePromptPrefix = { fg = p.subtle }, + TelescopeSelection = { fg = p.text, bg = p.highlight_low }, + TelescopeSelectionCaret = { fg = p.rose }, + TelescopeTitle = { fg = p.subtle }, } vim.g.terminal_color_0 = p.overlay -- black diff --git a/readme.md b/readme.md index a000008..53ca434 100644 --- a/readme.md +++ b/readme.md @@ -40,6 +40,7 @@ use({ - **[Neorg](https://github.com/nvim-neorg/neorg)** - **[Lspsaga](https://github.com/tami5/lspsaga.nvim)** - **[Pounce](https://github.com/rlane/pounce.nvim)** +- **[Telescope](https://github.com/nvim-telescope/telescope.nvim)** - **[Lualine](https://github.com/hoob3rt/lualine.nvim)** ```lua @@ -47,6 +48,7 @@ use({ options = { theme = 'rose-pine' } }) ``` + - **[Galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim)** > This fork by NTBBloodbath allows [custom colors](https://github.com/NTBBloodbath/galaxyline.nvim/blob/main/docs/themes.md#colors-standards) ```lua @@ -88,6 +90,7 @@ local p = require('rose-pine.palette') vim.g.rose_pine_colors = { punctuation = p.subtle, comment = p.subtle, + border = p.highlight_med, hint = p.iris, info = p.foam, warn = p.gold, From b1f5b18fdfa7daac798d6032377a3bb30cfa1864 Mon Sep 17 00:00:00 2001 From: mvllow Date: Fri, 28 Jan 2022 15:20:20 -0600 Subject: [PATCH 107/309] match telescope selection caret background --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index beb9622..af212f6 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -489,7 +489,7 @@ local theme = { TelescopeMatching = { fg = p.rose }, TelescopePromptPrefix = { fg = p.subtle }, TelescopeSelection = { fg = p.text, bg = p.highlight_low }, - TelescopeSelectionCaret = { fg = p.rose }, + TelescopeSelectionCaret = { fg = p.rose, bg = p.highlight_low }, TelescopeTitle = { fg = p.subtle }, } From 8a728cd0cde199660794913e9d754df3e792d0eb Mon Sep 17 00:00:00 2001 From: not Date: Fri, 28 Jan 2022 18:32:46 -0600 Subject: [PATCH 108/309] Update readme.md --- readme.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/readme.md b/readme.md index 53ca434..2a02672 100644 --- a/readme.md +++ b/readme.md @@ -28,33 +28,33 @@ use({ > PR's are more than welcome if your favourite plugin is missing -- **[Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)** -- **[Diagnostics](https://neovim.io/doc/user/lsp.html)** -- **[Barbar](https://github.com/romgrk/barbar.nvim)** -- **[Gitsigns](https://github.com/lewis6991/gitsigns.nvim)** -- **[Modes](https://github.com/mvllow/modes.nvim)** -- **[NvimTree](https://github.com/kyazdani42/nvim-tree.lua)** -- **[WhichKey](https://github.com/folke/which-key.nvim)** -- **[Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)** -- **[Neogit](https://github.com/TimUntersberger/neogit)** -- **[Neorg](https://github.com/nvim-neorg/neorg)** -- **[Lspsaga](https://github.com/tami5/lspsaga.nvim)** -- **[Pounce](https://github.com/rlane/pounce.nvim)** -- **[Telescope](https://github.com/nvim-telescope/telescope.nvim)** -- **[Lualine](https://github.com/hoob3rt/lualine.nvim)** +- [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) +- [Diagnostics](https://neovim.io/doc/user/lsp.html) +- [Barbar](https://github.com/romgrk/barbar.nvim) +- [Gitsigns](https://github.com/lewis6991/gitsigns.nvim) +- [Modes](https://github.com/mvllow/modes.nvim) +- [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) +- [WhichKey](https://github.com/folke/which-key.nvim) +- [Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) +- [Neogit](https://github.com/TimUntersberger/neogit) +- [Neorg](https://github.com/nvim-neorg/neorg) +- [Lspsaga](https://github.com/tami5/lspsaga.nvim) +- [Pounce](https://github.com/rlane/pounce.nvim) +- [Telescope](https://github.com/nvim-telescope/telescope.nvim) +- [Lualine](https://github.com/hoob3rt/lualine.nvim) - ```lua - require('lualine').setup({ - options = { theme = 'rose-pine' } - }) - ``` -- **[Galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim)** - > This fork by NTBBloodbath allows [custom colors](https://github.com/NTBBloodbath/galaxyline.nvim/blob/main/docs/themes.md#colors-standards) - ```lua - -- Set colors in your galaxyline config - local colors = require("galaxyline.themes.colors")["rose-pine"] - ``` +```lua +require('lualine').setup({ + options = { theme = 'rose-pine' } +}) +``` + +- [Galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim) + +```lua +local colors = require("galaxyline.themes.colors")["rose-pine"] +``` ## Gallery From 03ace10a49b54e23d6736cb1a1dd260cb797d39e Mon Sep 17 00:00:00 2001 From: not Date: Sat, 29 Jan 2022 14:48:23 -0600 Subject: [PATCH 109/309] Update config.lua --- lua/rose-pine/config.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 5fc752d..cd5c0f0 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -1,7 +1,7 @@ local palette = require('rose-pine.palette') local config = { - bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false, + bold_vert_split = vim.g.rose_pine_bold_vertical_split_line or false, inactive_background = vim.g.rose_pine_inactive_background or false, no_background = vim.g.rose_pine_disable_background or false, no_float_background = vim.g.rose_pine_disable_float_background or false, From 9fabaff219201c3ca0c1506a4a54a683db4d2abf Mon Sep 17 00:00:00 2001 From: mvllow Date: Sat, 29 Jan 2022 16:12:03 -0600 Subject: [PATCH 110/309] chore: update util function --- lua/rose-pine/util.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine/util.lua b/lua/rose-pine/util.lua index 8ad79d4..67b5e08 100644 --- a/lua/rose-pine/util.lua +++ b/lua/rose-pine/util.lua @@ -16,17 +16,17 @@ end ---@param fg string foreground color ---@param bg string background color ----@param alpha number number between 0 and 1. 0 results in bg, 1 results in fg +---@param alpha number number between 0 (background) and 1 (foreground) function util.blend(fg, bg, alpha) bg = get_color(bg) fg = get_color(fg) - local blendChannel = function(i) + local function blend_channel(i) local ret = (alpha * fg[i] + ((1 - alpha) * bg[i])) return math.floor(math.min(math.max(0, ret), 255) + 0.5) end - return string.format('#%02X%02X%02X', blendChannel(1), blendChannel(2), blendChannel(3)) + return string.format('#%02X%02X%02X', blend_channel(1), blend_channel(2), blend_channel(3)) end return util From 0ac6c6c09122630e7858a1c7433dfd68fde20fb3 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sat, 29 Jan 2022 16:12:12 -0600 Subject: [PATCH 111/309] chore: update stylua config --- .stylua.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.stylua.toml b/.stylua.toml index ffab677..48e35ae 100644 --- a/.stylua.toml +++ b/.stylua.toml @@ -1,3 +1,6 @@ column_width = 100 indent_type = "Tabs" +indent_width = 3 +line_endings = "Unix" quote_style = "AutoPreferSingle" + From b1069203d144b59dd210bc5922a5c94c69ea7274 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 2 Feb 2022 17:44:07 -0600 Subject: [PATCH 112/309] feat: add link override - refactor config and readme --- lua/rose-pine/config.lua | 50 ++- lua/rose-pine/palette.lua | 3 + lua/rose-pine/theme.lua | 759 ++++++++++++++++++-------------------- readme.md | 80 ++-- 4 files changed, 429 insertions(+), 463 deletions(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 5fc752d..6b3ac12 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -1,26 +1,48 @@ 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 = { - bold_vert_split = vim.g.rose_pine_bold_verical_split_line or false, - inactive_background = vim.g.rose_pine_inactive_background or false, - no_background = vim.g.rose_pine_disable_background or false, - no_float_background = vim.g.rose_pine_disable_float_background or false, - no_italics = vim.g.rose_pine_disable_italics or false, + variant = opt('variant', 'main'), + + bold_vertical_split_line = opt('bold_vertical_split_line', false), + disable_italics = opt('disable_italics', false), + disable_background = opt('disable_background', false), + disable_float_background = opt('disable_float_background', false), + inactive_background = opt('inactive_background', false), + colors = { - punctuation = palette.subtle, - comment = palette.subtle, border = palette.highlight_med, + comment = palette.muted, + link = palette.iris, + punctuation = palette.subtle, + + error = palette.love, hint = palette.iris, info = palette.foam, warn = palette.gold, - error = palette.love, - -- TODO: Expose these once matched with syntax and cmp kind - -- variable = '', - -- class = '', - -- interface = '', - -- ['function'] = '', - -- method = '', + 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, ---@type string|table headings = { diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 25216f5..0b24973 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -15,6 +15,7 @@ local variants = { highlight_low = '#21202e', highlight_med = '#403d52', highlight_high = '#524f67', + opacity = 0.1, }, moon = { base = '#232136', @@ -32,6 +33,7 @@ local variants = { highlight_low = '#2a283e', highlight_med = '#44415a', highlight_high = '#56526e', + opacity = 0.1, }, dawn = { base = '#faf4ed', @@ -49,6 +51,7 @@ local variants = { highlight_low = '#f4ede8', highlight_med = '#dfdad9', highlight_high = '#cecacd', + opacity = 0.05, }, } diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index af212f6..ab8e68c 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -1,215 +1,194 @@ +local palette = require('rose-pine.palette') local config = require('rose-pine.config') local util = require('rose-pine.util') -local p = require('rose-pine.palette') -local c = config.colors --- TODO: Refactor `maybe` logic -local maybe_inactive_background = p.none -local maybe_background = p.base -local maybe_float_background = p.surface +local group = config.colors + local maybe_italic = 'italic' -local maybe_bold_vert_split = { fg = p.overlay } - -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 +if config.disable_italics == true then maybe_italic = nil 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 = { - ColorColumn = { bg = p.highlight_high }, - Conceal = { bg = p.none }, + ColorColumn = { bg = palette.highlight_high }, + Conceal = { bg = palette.none }, -- Cursor = {}, - CursorColumn = { bg = p.highlight_med }, + CursorColumn = { bg = group.border }, -- CursorIM = {}, - CursorLine = { bg = p.highlight_low }, - CursorLineNr = { fg = p.text }, - DarkenedPanel = { bg = p.surface }, - DarkenedStatusline = { bg = p.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(p.foam, p.base, 0.5) }, - DiffChange = { bg = p.overlay }, - DiffDelete = { bg = util.blend(p.love, p.base, 0.5) }, - DiffText = { bg = util.blend(p.rose, p.base, 0.5) }, + CursorLine = { bg = palette.highlight_low }, + CursorLineNr = { fg = palette.text }, + DarkenedPanel = { bg = palette.surface }, + DarkenedStatusline = { bg = palette.surface }, + DiffAdd = { bg = util.blend(group.git_add, palette.base, 0.5) }, + DiffChange = { bg = palette.overlay }, + DiffDelete = { bg = util.blend(group.git_delete, palette.base, 0.5) }, + DiffText = { bg = util.blend(group.git_text, palette.base, 0.5) }, diffAdded = { link = 'DiffAdd' }, diffChanged = { link = 'DiffChange' }, diffRemoved = { link = 'DiffDelete' }, - Directory = { fg = p.foam, bg = p.none }, + Directory = { fg = palette.foam, bg = palette.none }, -- EndOfBuffer = {}, - ErrorMsg = { fg = p.love, style = 'bold' }, - FloatBorder = { fg = c.border }, - FoldColumn = { fg = p.muted }, - Folded = { fg = p.text, bg = p.surface }, - IncSearch = { bg = p.highlight_high }, - LineNr = { fg = p.muted }, - MatchParen = { fg = p.text, bg = p.highlight_med }, - ModeMsg = { fg = p.subtle }, - MoreMsg = { fg = p.iris }, - NonText = { fg = p.muted }, - Normal = { fg = p.text, bg = maybe_background }, - NormalNC = { fg = p.text, bg = maybe_inactive_background }, - NormalFloat = { fg = p.text, bg = maybe_float_background }, - Pmenu = { fg = p.subtle, bg = maybe_float_background }, - PmenuSbar = { bg = p.overlay }, - PmenuSel = { fg = p.text, bg = p.overlay }, - PmenuThumb = { bg = p.muted }, - Question = { fg = p.gold }, + ErrorMsg = { fg = palette.love, style = 'bold' }, + FloatBorder = { fg = group.border }, + FoldColumn = { fg = palette.muted }, + Folded = { fg = palette.text, bg = palette.surface }, + IncSearch = { bg = palette.highlight_high }, + LineNr = { fg = palette.muted }, + MatchParen = { fg = palette.text, bg = palette.highlight_med }, + ModeMsg = { fg = palette.subtle }, + MoreMsg = { fg = palette.iris }, + NonText = { fg = palette.muted }, + Normal = { fg = palette.text, bg = background }, + NormalNC = { fg = palette.text, bg = inactive_background }, + NormalFloat = { fg = palette.text, bg = float_background }, + Pmenu = { fg = palette.subtle, bg = float_background }, + PmenuSbar = { bg = palette.overlay }, + PmenuSel = { fg = palette.text, bg = palette.overlay }, + PmenuThumb = { bg = palette.muted }, + Question = { fg = palette.gold }, -- QuickFixLine = {}, - Search = { bg = p.highlight_med }, - SpecialKey = { fg = p.foam }, - SpellBad = { style = 'undercurl', sp = p.love }, - SpellCap = { style = 'undercurl', sp = p.subtle }, - SpellLocal = { style = 'undercurl', sp = p.subtle }, - SpellRare = { style = 'undercurl', sp = p.subtle }, - SignColumn = { fg = p.text, bg = maybe_background }, - StatusLine = { fg = p.subtle, bg = p.surface }, - StatusLineNC = { fg = p.muted, bg = p.surface }, + Search = { bg = palette.highlight_med }, + SpecialKey = { fg = palette.foam }, + SpellBad = { sp = palette.love, style = 'undercurl' }, + SpellCap = { sp = palette.subtle, style = 'undercurl' }, + SpellLocal = { sp = palette.subtle, style = 'undercurl' }, + SpellRare = { sp = palette.subtle, style = 'undercurl' }, + SignColumn = { fg = palette.text, bg = background }, + StatusLine = { fg = palette.subtle, bg = palette.surface }, + StatusLineNC = { fg = palette.muted, bg = palette.base }, -- StatusLineTerm = {}, -- StatusLineTermNC = {}, - TabLine = { fg = p.subtle, bg = p.overlay }, - TabLineFill = { bg = p.surface }, - TabLineSel = { fg = p.text, bg = p.muted }, - Title = { fg = p.text }, - VertSplit = maybe_bold_vert_split, - Visual = { bg = p.highlight_med }, + TabLine = { fg = palette.subtle, bg = palette.overlay }, + TabLineFill = { bg = palette.surface }, + TabLineSel = { fg = palette.text, bg = palette.muted }, + Title = { fg = palette.text }, + VertSplit = { fg = palette.overlay, bg = vert_split_background }, + Visual = { bg = palette.highlight_med }, -- VisualNOS = {}, - WarningMsg = { fg = p.gold }, + WarningMsg = { fg = palette.gold }, -- Whitespace = {}, -- WildMenu = {}, - Boolean = { fg = p.gold }, - Character = { fg = p.gold }, - Comment = { - fg = c.comment, - style = maybe_italic, - }, - Conditional = { fg = p.pine }, - Constant = { fg = p.gold }, - Debug = { fg = p.rose }, - Define = { fg = p.iris }, - Delimiter = { fg = p.subtle }, - 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' }, + Boolean = { fg = palette.gold }, + Character = { fg = palette.gold }, + Comment = { fg = group.comment, style = maybe_italic }, + Conditional = { fg = palette.pine }, + Constant = { fg = palette.gold }, + Debug = { fg = palette.rose }, + Define = { fg = palette.iris }, + Delimiter = { fg = palette.subtle }, + Error = { fg = palette.love }, + Exception = { fg = palette.pine }, + Float = { fg = palette.gold }, + Function = { fg = palette.rose }, + Identifier = { fg = palette.rose }, + -- Ignore = {}, + Include = { fg = palette.iris }, + Keyword = { fg = palette.pine }, + Label = { fg = palette.foam }, + Macro = { fg = palette.iris }, + Number = { fg = palette.gold }, + Operator = { fg = palette.subtle }, + PreCondit = { fg = palette.iris }, + PreProc = { fg = palette.iris }, + Repeat = { fg = palette.pine }, + Special = { fg = palette.rose }, + SpecialChar = { fg = palette.rose }, + SpecialComment = { fg = palette.iris }, + Statement = { fg = palette.pine }, + StorageClass = { fg = palette.foam }, + String = { fg = palette.gold }, + Structure = { fg = palette.foam }, + Tag = { fg = palette.rose }, + Todo = { fg = palette.iris }, + Type = { fg = palette.foam }, + Typedef = { fg = palette.foam }, + Underlined = { fg = palette.foam, style = 'underline' }, - htmlArg = { fg = p.iris }, - htmlBold = { fg = p.text, style = 'bold' }, - htmlEndTag = { fg = p.subtle }, - htmlH1 = { fg = c.headings.h1, style = 'bold' }, - htmlH2 = { fg = c.headings.h2, style = 'bold' }, - htmlH3 = { fg = c.headings.h3, style = 'bold' }, - htmlH4 = { fg = c.headings.h4, style = 'bold' }, - htmlH5 = { fg = c.headings.h5, style = 'bold' }, - htmlItalic = { fg = p.text, style = maybe_italic }, - htmlLink = { fg = p.text }, - htmlTag = { fg = p.subtle }, - htmlTagN = { fg = p.text }, - htmlTagName = { fg = p.foam }, + htmlArg = { fg = palette.iris }, + htmlBold = { fg = palette.text, style = 'bold' }, + htmlEndTag = { fg = palette.subtle }, + htmlH1 = { fg = group.headings.h1, style = 'bold' }, + htmlH2 = { fg = group.headings.h2, style = 'bold' }, + htmlH3 = { fg = group.headings.h3, style = 'bold' }, + htmlH4 = { fg = group.headings.h4, style = 'bold' }, + htmlH5 = { fg = group.headings.h5, style = 'bold' }, + htmlItalic = { fg = palette.text, style = maybe_italic }, + htmlLink = { fg = group.link }, + htmlTag = { fg = palette.subtle }, + htmlTagN = { fg = palette.text }, + htmlTagName = { fg = palette.foam }, - markdownH1 = { fg = c.headings.h1, style = 'bold' }, - markdownH1Delimiter = { fg = c.headings.h1 }, - markdownH2 = { fg = c.headings.h2, style = 'bold' }, - markdownH2Delimiter = { fg = c.headings.h2 }, - markdownH3 = { fg = c.headings.h3, style = 'bold' }, - markdownH3Delimiter = { fg = c.headings.h3 }, - markdownH4 = { fg = c.headings.h4, style = 'bold' }, - markdownH4Delimiter = { fg = c.headings.h4 }, - markdownH5 = { fg = c.headings.h5, style = 'bold' }, - markdownH5Delimiter = { fg = c.headings.h5 }, - markdownH6 = { fg = c.headings.h6, style = 'bold' }, - markdownH6Delimiter = { fg = c.headings.h6 }, - markdownDelimiter = { fg = p.subtle }, - markdownLinkText = { fg = p.iris, style = 'underline' }, - markdownUrl = { fg = p.iris, style = 'underline' }, - mkdCode = { fg = p.foam, style = maybe_italic }, - mkdCodeDelimiter = { fg = p.rose }, - mkdCodeEnd = { fg = p.foam }, - mkdCodeStart = { fg = p.foam }, - mkdFootnotes = { fg = p.foam }, - mkdID = { fg = p.foam, style = 'underline' }, - mkdInlineURL = { fg = p.foam, style = 'underline' }, - mkdLink = { fg = p.rose, style = 'bold' }, - mkdLinkDef = { fg = p.rose, style = 'bold' }, - mkdListItemLine = { fg = p.text }, - mkdRule = { fg = p.subtle }, - mkdURL = { fg = p.foam, style = 'underline' }, + markdownH1 = { fg = group.headings.h1, style = 'bold' }, + markdownH1Delimiter = { fg = group.headings.h1 }, + markdownH2 = { fg = group.headings.h2, style = 'bold' }, + markdownH2Delimiter = { fg = group.headings.h2 }, + markdownH3 = { fg = group.headings.h3, style = 'bold' }, + markdownH3Delimiter = { fg = group.headings.h3 }, + markdownH4 = { fg = group.headings.h4, style = 'bold' }, + markdownH4Delimiter = { fg = group.headings.h4 }, + markdownH5 = { fg = group.headings.h5, style = 'bold' }, + markdownH5Delimiter = { fg = group.headings.h5 }, + markdownH6 = { fg = group.headings.h6, style = 'bold' }, + markdownH6Delimiter = { fg = group.headings.h6 }, + markdownDelimiter = { fg = palette.subtle }, + markdownLinkText = { fg = group.link, style = 'underline' }, + markdownUrl = { fg = palette.iris, style = 'underline' }, + mkdCode = { fg = palette.foam, style = maybe_italic }, + mkdCodeDelimiter = { fg = palette.rose }, + mkdCodeEnd = { fg = palette.foam }, + mkdCodeStart = { fg = palette.foam }, + mkdFootnotes = { fg = palette.foam }, + mkdID = { fg = palette.foam, style = 'underline' }, + mkdInlineURL = { fg = group.link, style = 'underline' }, + mkdLink = { fg = group.link, style = 'underline' }, + mkdLinkDef = { fg = group.link, style = 'underline' }, + mkdListItemLine = { fg = palette.text }, + mkdRule = { fg = palette.subtle }, + mkdURL = { fg = palette.foam, style = 'underline' }, -- Fix background mismatch if user sets custom float background -- In LSP hover float: (paramater) -- ^ ^ - typescriptParens = { bg = p.none }, + typescriptParens = { bg = palette.none }, - DiagnosticHint = { fg = c.hint }, - DiagnosticInfo = { fg = c.info }, + DiagnosticHint = { fg = group.hint }, + DiagnosticInfo = { fg = group.info }, DiagnosticInformation = { link = 'DiagnosticInfo' }, - DiagnosticWarn = { fg = c.warn }, + DiagnosticWarn = { fg = group.warn }, DiagnosticWarning = { link = 'DiagnosticWarn' }, - DiagnosticError = { fg = c.error }, - DiagnosticDefaultHint = { fg = c.hint }, - DiagnosticDefaultInfo = { fg = c.info }, - DiagnosticDefaultWarn = { fg = c.warn }, - DiagnosticDefaultError = { fg = c.error }, - DiagnosticFloatingHint = { fg = c.hint }, - DiagnosticFloatingInfo = { fg = c.info }, - DiagnosticFloatingWarn = { fg = c.warn }, - DiagnosticFloatingError = { fg = c.error }, - DiagnosticSignHint = { fg = c.hint }, - DiagnosticSignInfo = { fg = c.info }, - DiagnosticSignWarn = { fg = c.warn }, - DiagnosticSignError = { fg = c.error }, - DiagnosticUnderlineHint = { style = 'undercurl', sp = c.hint }, - DiagnosticUnderlineInfo = { style = 'undercurl', sp = c.info }, - DiagnosticUnderlineWarn = { style = 'undercurl', sp = c.warn }, - DiagnosticUnderlineError = { - style = 'undercurl', - sp = c.error, - }, - DiagnosticVirtualTextHint = { fg = c.hint }, - DiagnosticVirtualTextInfo = { fg = c.info }, - DiagnosticVirtualTextWarn = { fg = c.warn }, - DiagnosticVirtualTextError = { fg = c.error }, + DiagnosticError = { fg = group.error }, + DiagnosticDefaultHint = { fg = group.hint }, + DiagnosticDefaultInfo = { fg = group.info }, + DiagnosticDefaultWarn = { fg = group.warn }, + DiagnosticDefaultError = { fg = group.error }, + DiagnosticFloatingHint = { fg = group.hint }, + DiagnosticFloatingInfo = { fg = group.info }, + DiagnosticFloatingWarn = { fg = group.warn }, + DiagnosticFloatingError = { fg = group.error }, + DiagnosticSignHint = { fg = group.hint }, + DiagnosticSignInfo = { fg = group.info }, + DiagnosticSignWarn = { fg = group.warn }, + DiagnosticSignError = { fg = group.error }, + DiagnosticUnderlineHint = { sp = group.hint, style = 'undercurl' }, + DiagnosticUnderlineInfo = { sp = group.info, style = 'undercurl' }, + DiagnosticUnderlineWarn = { sp = group.warn, style = 'undercurl' }, + DiagnosticUnderlineError = { sp = group.error, style = 'undercurl' }, + DiagnosticVirtualTextHint = { fg = group.hint }, + DiagnosticVirtualTextInfo = { fg = group.info }, + DiagnosticVirtualTextWarn = { fg = group.warn }, + DiagnosticVirtualTextError = { fg = group.error }, - LspReferenceText = { fg = p.rose, bg = p.highlight_med }, - LspReferenceRead = { fg = p.rose, bg = p.highlight_med }, - LspReferenceWrite = { fg = p.rose, bg = p.highlight_med }, + LspReferenceText = { fg = palette.rose, bg = palette.highlight_med }, + LspReferenceRead = { fg = palette.rose, bg = palette.highlight_med }, + LspReferenceWrite = { fg = palette.rose, bg = palette.highlight_med }, -- TODO: Deprecate in favour of 0.6.0 groups LspDiagnosticsSignWarning = { link = 'DiagnosticSignWarn' }, @@ -230,284 +209,248 @@ local theme = { LspDiagnosticsSignInformation = { link = 'DiagnosticSignInfo' }, LspDiagnosticsDefaultInformation = { link = 'DiagnosticDefaultInfo' }, LspDiagnosticsFloatingInformation = { link = 'DiagnosticFloatingInfo' }, - LspDiagnosticsVirtualTextInformation = { - link = 'DiagnosticVirtualTextInfo', - }, + LspDiagnosticsVirtualTextInformation = { link = 'DiagnosticVirtualTextInfo' }, LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' }, -- RedrawDebugNormal - RedrawDebugClear = { fg = '#ffffff', bg = p.gold }, - RedrawDebugComposed = { fg = '#ffffff', bg = p.pine }, - RedrawDebugRecompose = { fg = '#ffffff', bg = p.love }, + RedrawDebugClear = { fg = '#ffffff', bg = palette.gold }, + RedrawDebugComposed = { fg = '#ffffff', bg = palette.pine }, + RedrawDebugRecompose = { fg = '#ffffff', bg = palette.love }, - NvimInternalError = { fg = '#ffffff', bg = p.love }, + NvimInternalError = { fg = '#ffffff', bg = palette.love }, -- TSAnnotation = {}, -- TSAttribute = {}, - TSBoolean = { fg = p.rose }, + TSBoolean = { fg = palette.rose }, -- TSCharacter = {}, - TSComment = { - fg = c.comment, - style = maybe_italic, - }, + TSComment = { fg = group.comment, style = maybe_italic }, -- TSConditional = {}, - TSConstBuiltin = { fg = p.love }, + TSConstBuiltin = { fg = palette.love }, -- TSConstMacro = {}, - TSConstant = { fg = p.foam }, - TSConstructor = { fg = p.foam }, + TSConstant = { fg = palette.foam }, + TSConstructor = { fg = palette.foam }, -- TSEmphasis = {}, -- TSError = {}, -- TSException = {}, - TSField = { fg = p.foam }, + TSField = { fg = palette.foam }, -- TSFloat = {}, - TSFuncBuiltin = { fg = p.love }, + TSFuncBuiltin = { fg = palette.love }, -- TSFuncMacro = {}, - TSFunction = { fg = p.rose }, - TSInclude = { fg = p.pine }, - TSKeyword = { fg = p.pine }, + TSFunction = { fg = palette.rose }, + TSInclude = { fg = palette.pine }, + TSKeyword = { fg = palette.pine }, -- TSKeywordFunction = {}, - TSKeywordOperator = { fg = p.subtle }, - TSLabel = { fg = p.foam }, + TSKeywordOperator = { fg = palette.subtle }, + TSLabel = { fg = palette.foam }, -- TSLiteral = {}, -- TSMethod = {}, -- TSNamespace = {}, -- TSNone = {}, -- TSNumber = {}, - TSOperator = { fg = p.subtle }, - TSParameter = { - fg = p.iris, - style = maybe_italic, - }, + TSOperator = { fg = palette.subtle }, + TSParameter = { fg = palette.iris, style = maybe_italic }, -- TSParameterReference = {}, - TSProperty = { - fg = p.iris, - style = maybe_italic, - }, - TSPunctBracket = { fg = c.punctuation }, - TSPunctDelimiter = { fg = c.punctuation }, - TSPunctSpecial = { fg = c.punctuation }, + TSProperty = { fg = palette.iris, style = maybe_italic }, + TSPunctBracket = { fg = group.punctuation }, + TSPunctDelimiter = { fg = group.punctuation }, + TSPunctSpecial = { fg = group.punctuation }, -- TSRepeat = {}, -- TSStrike = {}, - TSString = { fg = p.gold }, - TSStringEscape = { fg = p.pine }, + TSString = { fg = palette.gold }, + TSStringEscape = { fg = palette.pine }, -- TSStringRegex = {}, TSStringSpecial = { link = 'TSString' }, -- TSSymbol = {}, - TSTag = { fg = p.foam }, - TSTagDelimiter = { fg = p.subtle }, - TSText = { fg = p.text }, - TSTitle = { fg = c.headings.h1, style = 'bold' }, + TSTag = { fg = palette.foam }, + TSTagDelimiter = { fg = palette.subtle }, + TSText = { fg = palette.text }, + TSTitle = { fg = group.headings.h1, style = 'bold' }, -- TSType = {}, -- TSTypeBuiltin = {}, - TSURI = { fg = p.gold }, + TSURI = { fg = palette.gold }, -- TSUnderline = {}, - TSVariable = { - fg = p.text, - style = maybe_italic, - }, - TSVariableBuiltin = { fg = p.love }, + TSVariable = { fg = palette.text, style = maybe_italic }, + TSVariableBuiltin = { fg = palette.love }, - -- barbar.nvim - -- https://github.com/romgrk/barbar.nvim - BufferTabpageFill = { fg = p.base, bg = p.base }, - 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 }, - BufferCurrentTarget = { fg = p.gold, bg = p.overlay }, - BufferInactive = { fg = p.subtle }, - BufferInactiveIndex = { fg = p.subtle }, - BufferInactiveMod = { fg = p.foam }, - BufferInactiveSign = { fg = p.muted }, - BufferInactiveTarget = { fg = p.gold }, - BufferVisible = { fg = p.subtle }, - BufferVisibleIndex = { fg = p.subtle }, - BufferVisibleMod = { fg = p.foam }, - BufferVisibleSign = { fg = p.muted }, - BufferVisibleTarget = { fg = p.gold }, + -- romgrk/barbar.nvim + BufferTabpageFill = { fg = palette.base, bg = palette.base }, + BufferCurrent = { fg = palette.text, bg = palette.overlay }, + BufferCurrentIndex = { fg = palette.text, bg = palette.overlay }, + BufferCurrentMod = { fg = palette.foam, bg = palette.overlay }, + BufferCurrentSign = { fg = palette.subtle, bg = palette.overlay }, + BufferCurrentTarget = { fg = palette.gold, bg = palette.overlay }, + BufferInactive = { fg = palette.subtle }, + BufferInactiveIndex = { fg = palette.subtle }, + BufferInactiveMod = { fg = palette.foam }, + BufferInactiveSign = { fg = palette.muted }, + BufferInactiveTarget = { fg = palette.gold }, + BufferVisible = { fg = palette.subtle }, + BufferVisibleIndex = { fg = palette.subtle }, + BufferVisibleMod = { fg = palette.foam }, + BufferVisibleSign = { fg = palette.muted }, + BufferVisibleTarget = { fg = palette.gold }, - -- gitsigns.nvim - -- https://github.com/lewis6991/gitsigns.nvim - SignAdd = { fg = p.foam }, - SignChange = { fg = p.rose }, - SignDelete = { fg = p.love }, - GitSignsAdd = { fg = p.foam }, - GitSignsChange = { fg = p.rose }, - GitSignsDelete = { fg = p.love }, + -- lewis6991/gitsigns.nvim + SignAdd = { fg = group.git_add }, + SignChange = { fg = group.git_change }, + SignDelete = { fg = group.git_delete }, + GitSignsAdd = { fg = group.git_add }, + GitSignsChange = { fg = group.git_change }, + GitSignsDelete = { fg = group.git_delete }, - -- modes.nvim - -- https://github.com/mvllow/modes.nvim - ModesCopy = { bg = p.gold }, - ModesDelete = { bg = p.love }, - ModesInsert = { bg = p.foam }, - ModesVisual = { bg = p.iris }, + -- mvllow/modes.nvim + ModesCopy = { bg = palette.gold }, + ModesDelete = { bg = palette.love }, + ModesInsert = { bg = palette.foam }, + ModesVisual = { bg = palette.iris }, - -- nvim-tree.lua - -- https://github.com/kyazdani42/nvim-tree.lua - NvimTreeNormal = { fg = p.text }, - 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.muted }, - NvimTreeFolderIcon = { fg = p.subtle }, - NvimTreeFolderName = { fg = p.foam }, - NvimTreeImageFile = { fg = p.text }, - NvimTreeOpenedFile = { fg = p.text, bg = p.highlight_med }, - NvimTreeOpenedFolderName = { fg = p.foam }, - NvimTreeRootFolder = { fg = p.iris }, + -- kyazdani42/nvim-tree.lua + NvimTreeNormal = { fg = palette.text }, + NvimTreeFileDeleted = { fg = palette.love }, + NvimTreeFileDirty = { fg = palette.rose }, + NvimTreeFileMerge = { fg = palette.iris }, + NvimTreeFileNew = { fg = palette.foam }, + NvimTreeFileRenamed = { fg = palette.pine }, + NvimTreeFileStaged = { fg = palette.iris }, + NvimTreeEmptyFolderName = { fg = palette.muted }, + NvimTreeFolderIcon = { fg = palette.subtle }, + NvimTreeFolderName = { fg = palette.foam }, + NvimTreeImageFile = { fg = palette.text }, + NvimTreeOpenedFile = { fg = palette.text, bg = palette.highlight_med }, + NvimTreeOpenedFolderName = { fg = palette.foam }, + NvimTreeRootFolder = { fg = palette.iris }, NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, - NvimTreeGitDeleted = { fg = p.love }, - NvimTreeGitDirty = { fg = p.rose }, - NvimTreeGitIgnored = { fg = p.subtle }, - NvimTreeGitMerge = { fg = p.iris }, - NvimTreeGitNew = { fg = p.foam }, - NvimTreeGitRenamed = { fg = p.pine }, - NvimTreeGitStaged = { fg = p.iris }, - NvimTreeWindowPicker = { fg = p.base, bg = p.iris }, + NvimTreeGitDeleted = { fg = group.git_delete }, + NvimTreeGitDirty = { fg = group.git_dirty }, + NvimTreeGitIgnored = { fg = group.git_ignore }, + NvimTreeGitMerge = { fg = group.git_merge }, + NvimTreeGitNew = { fg = group.git_add }, + NvimTreeGitRenamed = { fg = group.git_rename }, + NvimTreeGitStaged = { fg = group.git_stage }, + NvimTreeWindowPicker = { fg = palette.base, bg = palette.iris }, - -- 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 }, + -- folke/which-key.nvim + WhichKey = { fg = palette.iris }, + WhichKeyGroup = { fg = palette.foam }, + WhichKeySeparator = { fg = palette.subtle }, + WhichKeyDesc = { fg = palette.gold }, + WhichKeyFloat = { bg = palette.surface }, + WhichKeyValue = { fg = palette.rose }, - -- indent-blankline.nvim - -- https://github.com/lukas-reineke/indent-blankline.nvim - IndentBlanklineChar = { fg = p.subtle }, + -- luka-reineke/indent-blankline.nvim + IndentBlanklineChar = { fg = palette.muted }, - -- nvim-cmp - -- https://github.com/hrsh7th/nvim-cmp - CmpItemKind = { fg = p.iris }, - CmpItemAbbr = { fg = p.subtle }, - CmpItemAbbrMatch = { fg = p.text, style = 'bold' }, - CmpItemAbbrMatchFuzzy = { fg = p.text, style = 'bold' }, - CmpItemAbbrDeprecated = { fg = p.subtle, style = 'strikethrough' }, - CmpItemKindVariable = { fg = p.foam }, - CmpItemKindClass = { fg = p.gold }, - CmpItemKindInterface = { fg = p.gold }, - CmpItemKindFunction = { fg = p.iris }, - CmpItemKindMethod = { fg = p.iris }, - CmpItemKindSnippet = { fg = p.iris }, + -- hrsh7th/nvim-cmp + CmpItemKind = { fg = palette.iris }, + CmpItemAbbr = { fg = palette.subtle }, + CmpItemAbbrMatch = { fg = palette.text, style = 'bold' }, + CmpItemAbbrMatchFuzzy = { fg = palette.text, style = 'bold' }, + CmpItemAbbrDeprecated = { fg = palette.subtle, style = 'strikethrough' }, + CmpItemKindVariable = { fg = palette.foam }, + CmpItemKindClass = { fg = palette.gold }, + CmpItemKindInterface = { fg = palette.gold }, + CmpItemKindFunction = { fg = palette.iris }, + CmpItemKindMethod = { fg = palette.iris }, + CmpItemKindSnippet = { fg = palette.iris }, - -- neogit - -- https://github.com/TimUntersberger/neogit - NeogitDiffAddHighlight = { fg = p.foam, bg = p.highlight_med }, - NeogitDiffDeleteHighlight = { - fg = p.love, - bg = p.highlight_med, - }, - NeogitDiffContextHighlight = { bg = p.highlight_low }, - NeogitHunkHeader = { bg = p.highlight_low }, - NeogitHunkHeaderHighlight = { bg = p.highlight_low }, + -- TimUntersberger/neogit + NeogitDiffAddHighlight = { fg = palette.foam, bg = palette.highlight_med }, + NeogitDiffDeleteHighlight = { fg = palette.love, bg = palette.highlight_med }, + NeogitDiffContextHighlight = { bg = palette.highlight_low }, + NeogitHunkHeader = { bg = palette.highlight_low }, + NeogitHunkHeaderHighlight = { bg = palette.highlight_low }, - -- VimWiki - -- https://github.com/vimwiki/vimwiki - VimwikiHR = { fg = p.subtle }, - VimwikiHeader1 = { fg = c.headings.h1, style = 'bold' }, - VimwikiHeader2 = { fg = c.headings.h2, style = 'bold' }, - VimwikiHeader3 = { fg = c.headings.h3, style = 'bold' }, - VimwikiHeader4 = { fg = c.headings.h4, style = 'bold' }, - VimwikiHeader5 = { fg = c.headings.h5, style = 'bold' }, - VimwikiHeader6 = { fg = c.headings.h6, style = 'bold' }, - VimwikiHeaderChar = { fg = p.pine }, - VimwikiLink = { fg = p.rose, style = 'underline' }, - VimwikiList = { fg = p.iris }, - VimwikiNoExistsLink = { fg = p.love }, + -- vimwiki/vimwiki + VimwikiHR = { fg = palette.subtle }, + VimwikiHeader1 = { fg = group.headings.h1, style = 'bold' }, + VimwikiHeader2 = { fg = group.headings.h2, style = 'bold' }, + VimwikiHeader3 = { fg = group.headings.h3, style = 'bold' }, + VimwikiHeader4 = { fg = group.headings.h4, style = 'bold' }, + VimwikiHeader5 = { fg = group.headings.h5, style = 'bold' }, + VimwikiHeader6 = { fg = group.headings.h6, style = 'bold' }, + VimwikiHeaderChar = { fg = palette.pine }, + VimwikiLink = { fg = group.link, style = 'underline' }, + VimwikiList = { fg = palette.iris }, + VimwikiNoExistsLink = { fg = palette.love }, - -- Neorg - -- https://github.com/nvim-neorg/neorg - NeorgHeading1Prefix = { fg = c.headings.h1, style = 'bold' }, - NeorgHeading2Prefix = { fg = c.headings.h2, style = 'bold' }, - NeorgHeading3Prefix = { fg = c.headings.h3, style = 'bold' }, - NeorgHeading4Prefix = { fg = c.headings.h4, style = 'bold' }, - NeorgHeading5Prefix = { fg = c.headings.h5, style = 'bold' }, - NeorgHeading6Prefix = { fg = c.headings.h6, style = 'bold' }, + -- nvim-neorg/neorg + NeorgHeading1Prefix = { fg = group.headings.h1, style = 'bold' }, + NeorgHeading1Title = { fg = group.headings.h1, style = 'bold' }, + NeorgHeading2Prefix = { fg = group.headings.h2, style = 'bold' }, + NeorgHeading2Title = { fg = group.headings.h2, style = 'bold' }, + NeorgHeading3Prefix = { fg = group.headings.h3, style = 'bold' }, + NeorgHeading3Title = { fg = group.headings.h3, 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' }, - NeorgHeading2Title = { fg = c.headings.h2, style = 'bold' }, - NeorgHeading3Title = { fg = c.headings.h3, style = 'bold' }, - NeorgHeading4Title = { fg = c.headings.h4, style = 'bold' }, - NeorgHeading5Title = { fg = c.headings.h5, style = 'bold' }, - NeorgHeading6Title = { fg = c.headings.h6, style = 'bold' }, - - NeorgMarkerTitle = { fg = p.text, style = 'bold' }, - -- LspSaga - -- https://github.com/tami5/lspsaga.nvim (fork of https://github.com/glepnir/lspsaga.nvim) - LspSagaCodeActionTitle = { - fg = p.gold, - style = 'bold', - }, - LspSagaCodeActionBorder = { fg = c.border }, + -- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim) + DefinitionCount = { fg = palette.rose }, + DefinitionIcon = { fg = palette.rose }, + DefintionPreviewTitle = { fg = palette.rose, style = 'bold' }, + LspFloatWinBorder = { fg = group.border }, + LspFloatWinNormal = { bg = palette.base }, + LspSagaAutoPreview = { fg = palette.subtle }, + LspSagaCodeActionBorder = { fg = group.border }, + LspSagaCodeActionContent = { fg = palette.foam }, + LspSagaCodeActionTitle = { fg = palette.gold, style = 'bold' }, LspSagaCodeActionTruncateLine = { link = 'LspSagaCodeActionBorder' }, - LspSagaCodeActionContent = { fg = p.foam }, - LspSagaDiagnosticBorder = { fg = c.border }, - LspSagaDiagnosticHeader = { fg = p.gold, style = 'bold' }, + LspSagaDefPreviewBorder = { fg = group.border }, + LspSagaDiagnosticBorder = { fg = group.border }, + LspSagaDiagnosticHeader = { fg = palette.gold, style = 'bold' }, 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' }, - LspSagaHoverBorder = { fg = c.border }, - LspSagaSignatureHelpBorder = { fg = p.pine }, + LspSagaFinderSelection = { fg = palette.gold }, + LspSagaHoverBorder = { fg = group.border }, + LspSagaLspFinderBorder = { fg = group.border }, + LspSagaRenameBorder = { fg = palette.pine }, + LspSagaRenamePromptPrefix = { fg = palette.love }, 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 - -- https://github.com/ray-x/lsp_signature.nvim - LspSignatureActiveParameter = { bg = p.overlay }, - - -- pounce - -- https://github.com/rlane/pounce.nvim - PounceMatch = { link = 'Search' }, + -- rlane/pounce.nvim + PounceAccept = { fg = palette.love, bg = palette.highlight_high }, + PounceAcceptBest = { fg = palette.base, bg = palette.gold }, PounceGap = { link = 'Search' }, - PounceAccept = { fg = p.love, bg = p.highlight_high }, - PounceAcceptBest = { fg = p.base, bg = p.gold }, + PounceMatch = { link = 'Search' }, - -- telescope.nvim - -- https://github.com/nvim-telescope/telescope.nvim - TelescopeNormal = { fg = p.subtle }, - TelescopePromptNormal = { fg = p.text }, - TelescopeBorder = { fg = c.border }, - TelescopeMatching = { fg = p.rose }, - TelescopePromptPrefix = { fg = p.subtle }, - TelescopeSelection = { fg = p.text, bg = p.highlight_low }, - TelescopeSelectionCaret = { fg = p.rose, bg = p.highlight_low }, - TelescopeTitle = { fg = p.subtle }, + -- nvim-telescope/telescope.nvim + TelescopeBorder = { fg = group.border }, + TelescopeMatching = { fg = palette.rose }, + TelescopeNormal = { fg = palette.subtle }, + TelescopePromptNormal = { fg = palette.text }, + TelescopePromptPrefix = { fg = palette.subtle }, + TelescopeSelection = { fg = palette.text, bg = palette.highlight_low }, + TelescopeSelectionCaret = { fg = palette.rose, bg = palette.highlight_low }, + TelescopeTitle = { fg = palette.subtle }, } -vim.g.terminal_color_0 = p.overlay -- black -vim.g.terminal_color_8 = p.subtle -- bright black -vim.g.terminal_color_1 = p.love -- red -vim.g.terminal_color_9 = p.love -- bright red -vim.g.terminal_color_2 = p.pine -- green -vim.g.terminal_color_10 = p.pine -- bright green -vim.g.terminal_color_3 = p.gold -- yellow -vim.g.terminal_color_11 = p.gold -- bright yellow -vim.g.terminal_color_4 = p.foam -- blue -vim.g.terminal_color_12 = p.foam -- bright blue -vim.g.terminal_color_5 = p.iris -- magenta -vim.g.terminal_color_13 = p.iris -- bright magenta -vim.g.terminal_color_6 = p.rose -- cyan -vim.g.terminal_color_14 = p.rose -- bright cyan -vim.g.terminal_color_7 = p.text -- white -vim.g.terminal_color_15 = p.text -- bright white +vim.g.terminal_color_0 = palette.overlay -- black +vim.g.terminal_color_8 = palette.subtle -- bright black +vim.g.terminal_color_1 = palette.love -- red +vim.g.terminal_color_9 = palette.love -- bright red +vim.g.terminal_color_2 = palette.pine -- green +vim.g.terminal_color_10 = palette.pine -- bright green +vim.g.terminal_color_3 = palette.gold -- yellow +vim.g.terminal_color_11 = palette.gold -- bright yellow +vim.g.terminal_color_4 = palette.foam -- blue +vim.g.terminal_color_12 = palette.foam -- bright blue +vim.g.terminal_color_5 = palette.iris -- magenta +vim.g.terminal_color_13 = palette.iris -- bright magenta +vim.g.terminal_color_6 = palette.rose -- cyan +vim.g.terminal_color_14 = palette.rose -- bright cyan +vim.g.terminal_color_7 = palette.text -- white +vim.g.terminal_color_15 = palette.text -- bright white return theme diff --git a/readme.md b/readme.md index 2a02672..064f277 100644 --- a/readme.md +++ b/readme.md @@ -17,7 +17,7 @@ use({ 'rose-pine/neovim', as = 'rose-pine', - tag = 'v0.1.0', -- Optional tag release + -- tag = '...', config = function() vim.cmd('colorscheme rose-pine') end @@ -43,7 +43,6 @@ use({ - [Telescope](https://github.com/nvim-telescope/telescope.nvim) - [Lualine](https://github.com/hoob3rt/lualine.nvim) - ```lua require('lualine').setup({ options = { theme = 'rose-pine' } @@ -75,35 +74,46 @@ local colors = require("galaxyline.themes.colors")["rose-pine"] > Options should be set **before** colorscheme ```lua --- Set theme variant --- Matches terminal theme if unset +-- set theme variant, matching terminal theme if unset -- @usage 'main' | 'moon' | 'dawn' vim.g.rose_pine_variant = '' 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_float_background = 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 = { - punctuation = p.subtle, - comment = p.subtle, - border = p.highlight_med, - hint = p.iris, - info = p.foam, - warn = p.gold, - error = p.love, + border = palette.highlight_med, + comment = palette.muted, + link = palette.iris, + punctuation = palette.subtle, - -- 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 = { - h1 = p.iris, - h2 = p.foam, - h3 = p.rose, - h4 = p.gold, - h5 = p.pine, - h6 = p.foam, + h1 = palette.iris, + h2 = palette.foam, + h3 = palette.rose, + h4 = palette.gold, + h5 = palette.pine, + h6 = palette.foam, }, } @@ -111,31 +121,19 @@ vim.g.rose_pine_colors = { vim.cmd('colorscheme rose-pine') ``` -## Functions +## Suggested keymaps ```lua --- Toggle between all variants -require('rose-pine').toggle() +-- toggle between all variants +vim.keymap.set('n', 'tt', require('rose-pine').toggle) --- Toggle between some variants -require('rose-pine').toggle({'main', 'dawn'}) +-- or toggle between some variants +vim.keymap.set('n', 'tt', function() return require('rose-pine').toggle({'moon', 'dawn'}) end) --- Set specific variant -require('rose-pine').set('moon') -``` - -## Keymaps - -> These are only suggestions; no keymaps are set by the theme - -```lua --- Toggle variants -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').toggle()]], { noremap = true, silent = true }) - --- Set variant -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('main')]], { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('moon')]], { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '', [[lua require('rose-pine').set('dawn')]], { noremap = true, silent = true }) +-- set variant +vim.keymap.set('n', 't1', function() return require('rose-pine').set('main') end) +vim.keymap.set('n', 't2', function() return require('rose-pine').set('moon') end) +vim.keymap.set('n', 't3', function() return require('rose-pine').set('dawn') end) ``` ## Contributing From 1a3d0c279ea004605d99133c7b720f007e203371 Mon Sep 17 00:00:00 2001 From: mvllow Date: Thu, 3 Feb 2022 19:35:16 -0600 Subject: [PATCH 113/309] update config logic --- lua/rose-pine/theme.lua | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index ab8e68c..6eb9344 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -9,12 +9,25 @@ if config.disable_italics == true then maybe_italic = nil 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 background = palette.base +if config.disable_background then + background = palette.none +end + +local float_background = palette.surface +if config.disable_float_background then + float_background = palette.none +end + +local inactive_background = palette.none +if config.inactive_background then + inactive_background = util.blend('#000000', palette.base, palette.opacity) +end + +local vert_split_background = palette.none +if config.bold_vertical_split_line then + vert_split_background = palette.overlay +end local theme = { ColorColumn = { bg = palette.highlight_high }, From f520ece741fccc9dcd903f9e23025b769ddd8d74 Mon Sep 17 00:00:00 2001 From: fvrests Date: Sat, 5 Feb 2022 14:38:15 -0600 Subject: [PATCH 114/309] add inverse theme --- lua/lualine/themes/rose-pine-inverse.lua | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lua/lualine/themes/rose-pine-inverse.lua diff --git a/lua/lualine/themes/rose-pine-inverse.lua b/lua/lualine/themes/rose-pine-inverse.lua new file mode 100644 index 0000000..1e1ee36 --- /dev/null +++ b/lua/lualine/themes/rose-pine-inverse.lua @@ -0,0 +1,26 @@ +local p = require('rose-pine.palette') + +return { + normal = { + a = { bg = p.surface, fg = p.rose, gui = 'bold' }, + b = { bg = p.surface, fg = p.text }, + c = { bg = p.surface, fg = p.subtle, gui = 'italic' }, + }, + insert = { + a = { bg = p.surface, fg = p.foam, gui = 'bold' }, + }, + visual = { + a = { bg = p.surface, fg = p.iris, gui = 'bold' }, + }, + replace = { + a = { bg = p.surface, fg = p.pine, gui = 'bold' }, + }, + command = { + a = { bg = p.surface, fg = p.love, gui = 'bold' }, + }, + inactive = { + a = { bg = p.base, fg = p.subtle, gui = 'bold' }, + b = { bg = p.base, fg = p.subtle }, + c = { bg = p.base, fg = p.subtle, gui = 'italic' }, + }, +} From 5d1388889e120de99e28f3dcf98d82cefb9fabaa Mon Sep 17 00:00:00 2001 From: fvrests Date: Sat, 5 Feb 2022 17:46:43 -0600 Subject: [PATCH 115/309] update dawn overlay --- lua/rose-pine/palette.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 0b24973..1b27e8b 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -38,7 +38,7 @@ local variants = { dawn = { base = '#faf4ed', surface = '#fffaf3', - overlay = '#f2e9de', + overlay = '#f2e9e1', muted = '#9893a5', subtle = '#797593', text = '#575279', From 3835d280107478e7c2a7b132de6fa72579e4a577 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 6 Feb 2022 16:49:13 -0600 Subject: [PATCH 116/309] rename alternative lualine theme --- lua/lualine/themes/{rose-pine-inverse.lua => rose-pine-alt.lua} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lua/lualine/themes/{rose-pine-inverse.lua => rose-pine-alt.lua} (100%) diff --git a/lua/lualine/themes/rose-pine-inverse.lua b/lua/lualine/themes/rose-pine-alt.lua similarity index 100% rename from lua/lualine/themes/rose-pine-inverse.lua rename to lua/lualine/themes/rose-pine-alt.lua From da1c6111a34eea6c3d48bd7b74e58788fc71e1d7 Mon Sep 17 00:00:00 2001 From: mvllow Date: Sun, 6 Feb 2022 16:49:36 -0600 Subject: [PATCH 117/309] docs: add alt lualine theme --- readme.md | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/readme.md b/readme.md index 064f277..bd14ad4 100644 --- a/readme.md +++ b/readme.md @@ -28,28 +28,38 @@ use({ > PR's are more than welcome if your favourite plugin is missing -- [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) -- [Diagnostics](https://neovim.io/doc/user/lsp.html) -- [Barbar](https://github.com/romgrk/barbar.nvim) -- [Gitsigns](https://github.com/lewis6991/gitsigns.nvim) -- [Modes](https://github.com/mvllow/modes.nvim) -- [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) -- [WhichKey](https://github.com/folke/which-key.nvim) -- [Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) -- [Neogit](https://github.com/TimUntersberger/neogit) -- [Neorg](https://github.com/nvim-neorg/neorg) -- [Lspsaga](https://github.com/tami5/lspsaga.nvim) -- [Pounce](https://github.com/rlane/pounce.nvim) -- [Telescope](https://github.com/nvim-telescope/telescope.nvim) -- [Lualine](https://github.com/hoob3rt/lualine.nvim) +- [neovim diagnostics](https://neovim.io/doc/user/lsp.html) +- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) +- [barbar.nvim](https://github.com/romgrk/barbar.nvim) +- [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) +- [mode.nvim](https://github.com/mvllow/modes.nvim) +- [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua) +- [which-key.nvim](https://github.com/folke/which-key.nvim) +- [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) +- [neogit](https://github.com/TimUntersberger/neogit) +- [neorg](https://github.com/nvim-neorg/neorg) +- [lspsaga.nvim](https://github.com/tami5/lspsaga.nvim) +- [pounce.nvim](https://github.com/rlane/pounce.nvim) +- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) +- [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) ```lua -require('lualine').setup({ - options = { theme = 'rose-pine' } +use({ + 'nvim-lualine/lualine.nvim', + -- Fix mismatch palette between variants + event = 'ColorScheme', + config = function() + require('lualine').setup({ + options = { + ---@usage 'rose-pine' | 'rose-pine-alt' + theme = 'rose-pine' + } + }) + end }) ``` -- [Galaxyline fork](https://github.com/NTBBloodbath/galaxyline.nvim) +- [galaxyline.nvim fork](https://github.com/NTBBloodbath/galaxyline.nvim) ```lua local colors = require("galaxyline.themes.colors")["rose-pine"] From 8b704ffdf4670e3743dceb393ae5e581ed12aeba Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 7 Feb 2022 11:44:56 -0600 Subject: [PATCH 118/309] minor tweaks and formatting --- lua/rose-pine/theme.lua | 155 +++++++++++++++++++--------------------- 1 file changed, 73 insertions(+), 82 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 6eb9344..484ce60 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -33,9 +33,9 @@ local theme = { ColorColumn = { bg = palette.highlight_high }, Conceal = { bg = palette.none }, -- Cursor = {}, - CursorColumn = { bg = group.border }, + CursorColumn = { bg = palette.overlay }, -- CursorIM = {}, - CursorLine = { bg = palette.highlight_low }, + CursorLine = { bg = palette.overlay }, CursorLineNr = { fg = palette.text }, DarkenedPanel = { bg = palette.surface }, DarkenedStatusline = { bg = palette.surface }, @@ -59,14 +59,19 @@ local theme = { MoreMsg = { fg = palette.iris }, NonText = { fg = palette.muted }, Normal = { fg = palette.text, bg = background }, - NormalNC = { fg = palette.text, bg = inactive_background }, NormalFloat = { fg = palette.text, bg = float_background }, + NormalNC = { fg = palette.text, bg = inactive_background }, + NvimInternalError = { fg = '#ffffff', bg = palette.love }, Pmenu = { fg = palette.subtle, bg = float_background }, - PmenuSbar = { bg = palette.overlay }, + PmenuSbar = { bg = palette.highlight_low }, PmenuSel = { fg = palette.text, bg = palette.overlay }, - PmenuThumb = { bg = palette.muted }, + PmenuThumb = { bg = palette.highlight_med }, Question = { fg = palette.gold }, -- QuickFixLine = {}, + -- RedrawDebugNormal = {} + RedrawDebugClear = { fg = '#ffffff', bg = palette.gold }, + RedrawDebugComposed = { fg = '#ffffff', bg = palette.pine }, + RedrawDebugRecompose = { fg = '#ffffff', bg = palette.love }, Search = { bg = palette.highlight_med }, SpecialKey = { fg = palette.foam }, SpellBad = { sp = palette.love, style = 'undercurl' }, @@ -76,11 +81,11 @@ local theme = { SignColumn = { fg = palette.text, bg = background }, StatusLine = { fg = palette.subtle, bg = palette.surface }, StatusLineNC = { fg = palette.muted, bg = palette.base }, - -- StatusLineTerm = {}, - -- StatusLineTermNC = {}, - TabLine = { fg = palette.subtle, bg = palette.overlay }, + StatusLineTerm = { link = 'StatusLine' }, + StatusLineTermNC = { link = 'StatusLineNC' }, + TabLine = { fg = palette.subtle, bg = palette.surface }, TabLineFill = { bg = palette.surface }, - TabLineSel = { fg = palette.text, bg = palette.muted }, + TabLineSel = { fg = palette.text, bg = palette.overlay }, Title = { fg = palette.text }, VertSplit = { fg = palette.overlay, bg = vert_split_background }, Visual = { bg = palette.highlight_med }, @@ -89,7 +94,7 @@ local theme = { -- Whitespace = {}, -- WildMenu = {}, - Boolean = { fg = palette.gold }, + Boolean = { fg = palette.rose }, Character = { fg = palette.gold }, Comment = { fg = group.comment, style = maybe_italic }, Conditional = { fg = palette.pine }, @@ -123,37 +128,38 @@ local theme = { Todo = { fg = palette.iris }, Type = { fg = palette.foam }, Typedef = { fg = palette.foam }, - Underlined = { fg = palette.foam, style = 'underline' }, + Underlined = { style = 'underline' }, htmlArg = { fg = palette.iris }, - htmlBold = { fg = palette.text, style = 'bold' }, + htmlBold = { style = 'bold' }, htmlEndTag = { fg = palette.subtle }, htmlH1 = { fg = group.headings.h1, style = 'bold' }, htmlH2 = { fg = group.headings.h2, style = 'bold' }, htmlH3 = { fg = group.headings.h3, style = 'bold' }, htmlH4 = { fg = group.headings.h4, style = 'bold' }, htmlH5 = { fg = group.headings.h5, style = 'bold' }, - htmlItalic = { fg = palette.text, style = maybe_italic }, + htmlItalic = { style = maybe_italic }, htmlLink = { fg = group.link }, htmlTag = { fg = palette.subtle }, htmlTagN = { fg = palette.text }, htmlTagName = { fg = palette.foam }, - markdownH1 = { fg = group.headings.h1, style = 'bold' }, - markdownH1Delimiter = { fg = group.headings.h1 }, - markdownH2 = { fg = group.headings.h2, style = 'bold' }, - markdownH2Delimiter = { fg = group.headings.h2 }, - markdownH3 = { fg = group.headings.h3, style = 'bold' }, - markdownH3Delimiter = { fg = group.headings.h3 }, - markdownH4 = { fg = group.headings.h4, style = 'bold' }, - markdownH4Delimiter = { fg = group.headings.h4 }, - markdownH5 = { fg = group.headings.h5, style = 'bold' }, - markdownH5Delimiter = { fg = group.headings.h5 }, - markdownH6 = { fg = group.headings.h6, style = 'bold' }, - markdownH6Delimiter = { fg = group.headings.h6 }, markdownDelimiter = { fg = palette.subtle }, + markdownH1 = { fg = group.headings.h1, style = 'bold' }, + markdownH1Delimiter = { link = 'markdownH1' }, + markdownH2 = { fg = group.headings.h2, style = 'bold' }, + markdownH2Delimiter = { link = 'markdownH2' }, + markdownH3 = { fg = group.headings.h3, style = 'bold' }, + markdownH3Delimiter = { link = 'markdownH3' }, + markdownH4 = { fg = group.headings.h4, style = 'bold' }, + markdownH4Delimiter = { link = 'markdownH4' }, + markdownH5 = { fg = group.headings.h5, style = 'bold' }, + markdownH5Delimiter = { link = 'markdownH5' }, + markdownH6 = { fg = group.headings.h6, style = 'bold' }, + markdownH6Delimiter = { link = 'markdownH6' }, markdownLinkText = { fg = group.link, style = 'underline' }, - markdownUrl = { fg = palette.iris, style = 'underline' }, + markdownUrl = { link = 'markdownLinkText' }, + mkdCode = { fg = palette.foam, style = maybe_italic }, mkdCodeDelimiter = { fg = palette.rose }, mkdCodeEnd = { fg = palette.foam }, @@ -161,43 +167,36 @@ local theme = { mkdFootnotes = { fg = palette.foam }, mkdID = { fg = palette.foam, style = 'underline' }, mkdInlineURL = { fg = group.link, style = 'underline' }, - mkdLink = { fg = group.link, style = 'underline' }, - mkdLinkDef = { fg = group.link, style = 'underline' }, + mkdLink = { link = 'mkdInlineURL' }, + mkdLinkDef = { link = 'mkdInlineURL' }, mkdListItemLine = { fg = palette.text }, mkdRule = { fg = palette.subtle }, - mkdURL = { fg = palette.foam, style = 'underline' }, - - -- Fix background mismatch if user sets custom float background - -- In LSP hover float: (paramater) - -- ^ ^ - typescriptParens = { bg = palette.none }, + mkdURL = { link = 'mkdInlineURL' }, + DiagnosticError = { fg = group.error }, DiagnosticHint = { fg = group.hint }, DiagnosticInfo = { fg = group.info }, - DiagnosticInformation = { link = 'DiagnosticInfo' }, DiagnosticWarn = { fg = group.warn }, - DiagnosticWarning = { link = 'DiagnosticWarn' }, - DiagnosticError = { fg = group.error }, + DiagnosticDefaultError = { fg = group.error }, DiagnosticDefaultHint = { fg = group.hint }, DiagnosticDefaultInfo = { fg = group.info }, DiagnosticDefaultWarn = { fg = group.warn }, - DiagnosticDefaultError = { fg = group.error }, + DiagnosticFloatingError = { fg = group.error }, DiagnosticFloatingHint = { fg = group.hint }, DiagnosticFloatingInfo = { fg = group.info }, DiagnosticFloatingWarn = { fg = group.warn }, - DiagnosticFloatingError = { fg = group.error }, + DiagnosticSignError = { fg = group.error }, DiagnosticSignHint = { fg = group.hint }, DiagnosticSignInfo = { fg = group.info }, DiagnosticSignWarn = { fg = group.warn }, - DiagnosticSignError = { fg = group.error }, + DiagnosticUnderlineError = { sp = group.error, style = 'undercurl' }, DiagnosticUnderlineHint = { sp = group.hint, style = 'undercurl' }, DiagnosticUnderlineInfo = { sp = group.info, style = 'undercurl' }, DiagnosticUnderlineWarn = { sp = group.warn, style = 'undercurl' }, - DiagnosticUnderlineError = { sp = group.error, style = 'undercurl' }, + DiagnosticVirtualTextError = { fg = group.error }, DiagnosticVirtualTextHint = { fg = group.hint }, DiagnosticVirtualTextInfo = { fg = group.info }, DiagnosticVirtualTextWarn = { fg = group.warn }, - DiagnosticVirtualTextError = { fg = group.error }, LspReferenceText = { fg = palette.rose, bg = palette.highlight_med }, LspReferenceRead = { fg = palette.rose, bg = palette.highlight_med }, @@ -225,19 +224,11 @@ local theme = { LspDiagnosticsVirtualTextInformation = { link = 'DiagnosticVirtualTextInfo' }, LspDiagnosticsUnderlineInformation = { link = 'DiagnosticUnderlineInfo' }, - -- RedrawDebugNormal - RedrawDebugClear = { fg = '#ffffff', bg = palette.gold }, - RedrawDebugComposed = { fg = '#ffffff', bg = palette.pine }, - RedrawDebugRecompose = { fg = '#ffffff', bg = palette.love }, - - NvimInternalError = { fg = '#ffffff', bg = palette.love }, - - -- TSAnnotation = {}, -- TSAttribute = {}, - TSBoolean = { fg = palette.rose }, - -- TSCharacter = {}, - TSComment = { fg = group.comment, style = maybe_italic }, - -- TSConditional = {}, + TSBoolean = { link = 'Boolean' }, + TSCharacter = { link = 'Character' }, + TSComment = { link = 'Comment' }, + TSConditional = { link = 'Conditional' }, TSConstBuiltin = { fg = palette.love }, -- TSConstMacro = {}, TSConstant = { fg = palette.foam }, @@ -259,7 +250,7 @@ local theme = { -- TSMethod = {}, -- TSNamespace = {}, -- TSNone = {}, - -- TSNumber = {}, + TSNumber = { link = 'Number' }, TSOperator = { fg = palette.subtle }, TSParameter = { fg = palette.iris, style = maybe_italic }, -- TSParameterReference = {}, @@ -269,7 +260,7 @@ local theme = { TSPunctSpecial = { fg = group.punctuation }, -- TSRepeat = {}, -- TSStrike = {}, - TSString = { fg = palette.gold }, + TSString = { link = 'String' }, TSStringEscape = { fg = palette.pine }, -- TSStringRegex = {}, TSStringSpecial = { link = 'TSString' }, @@ -278,15 +269,14 @@ local theme = { TSTagDelimiter = { fg = palette.subtle }, TSText = { fg = palette.text }, TSTitle = { fg = group.headings.h1, style = 'bold' }, - -- TSType = {}, + TSType = { link = 'Type' }, -- TSTypeBuiltin = {}, - TSURI = { fg = palette.gold }, + TSURI = { fg = group.link }, -- TSUnderline = {}, TSVariable = { fg = palette.text, style = maybe_italic }, TSVariableBuiltin = { fg = palette.love }, -- romgrk/barbar.nvim - BufferTabpageFill = { fg = palette.base, bg = palette.base }, BufferCurrent = { fg = palette.text, bg = palette.overlay }, BufferCurrentIndex = { fg = palette.text, bg = palette.overlay }, BufferCurrentMod = { fg = palette.foam, bg = palette.overlay }, @@ -297,6 +287,7 @@ local theme = { BufferInactiveMod = { fg = palette.foam }, BufferInactiveSign = { fg = palette.muted }, BufferInactiveTarget = { fg = palette.gold }, + BufferTabpageFill = { fg = palette.base, bg = palette.base }, BufferVisible = { fg = palette.subtle }, BufferVisibleIndex = { fg = palette.subtle }, BufferVisibleMod = { fg = palette.foam }, @@ -304,12 +295,12 @@ local theme = { BufferVisibleTarget = { fg = palette.gold }, -- lewis6991/gitsigns.nvim - SignAdd = { fg = group.git_add }, - SignChange = { fg = group.git_change }, - SignDelete = { fg = group.git_delete }, GitSignsAdd = { fg = group.git_add }, GitSignsChange = { fg = group.git_change }, GitSignsDelete = { fg = group.git_delete }, + SignAdd = { link = 'GitSignsAdd' }, + SignChange = { link = 'GitSignsChange' }, + SignDelete = { link = 'GitSignsDelete' }, -- mvllow/modes.nvim ModesCopy = { bg = palette.gold }, @@ -318,21 +309,15 @@ local theme = { ModesVisual = { bg = palette.iris }, -- kyazdani42/nvim-tree.lua - NvimTreeNormal = { fg = palette.text }, + NvimTreeEmptyFolderName = { fg = palette.muted }, NvimTreeFileDeleted = { fg = palette.love }, NvimTreeFileDirty = { fg = palette.rose }, NvimTreeFileMerge = { fg = palette.iris }, NvimTreeFileNew = { fg = palette.foam }, NvimTreeFileRenamed = { fg = palette.pine }, NvimTreeFileStaged = { fg = palette.iris }, - NvimTreeEmptyFolderName = { fg = palette.muted }, NvimTreeFolderIcon = { fg = palette.subtle }, NvimTreeFolderName = { fg = palette.foam }, - NvimTreeImageFile = { fg = palette.text }, - NvimTreeOpenedFile = { fg = palette.text, bg = palette.highlight_med }, - NvimTreeOpenedFolderName = { fg = palette.foam }, - NvimTreeRootFolder = { fg = palette.iris }, - NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, NvimTreeGitDeleted = { fg = group.git_delete }, NvimTreeGitDirty = { fg = group.git_dirty }, NvimTreeGitIgnored = { fg = group.git_ignore }, @@ -340,6 +325,12 @@ local theme = { NvimTreeGitNew = { fg = group.git_add }, NvimTreeGitRenamed = { fg = group.git_rename }, NvimTreeGitStaged = { fg = group.git_stage }, + NvimTreeImageFile = { fg = palette.text }, + NvimTreeNormal = { fg = palette.text }, + NvimTreeOpenedFile = { fg = palette.text, bg = palette.highlight_med }, + NvimTreeOpenedFolderName = { fg = palette.foam }, + NvimTreeRootFolder = { fg = palette.iris }, + NvimTreeSpecialFile = { link = 'NvimTreeNormal' }, NvimTreeWindowPicker = { fg = palette.base, bg = palette.iris }, -- folke/which-key.nvim @@ -354,22 +345,22 @@ local theme = { IndentBlanklineChar = { fg = palette.muted }, -- hrsh7th/nvim-cmp - CmpItemKind = { fg = palette.iris }, CmpItemAbbr = { fg = palette.subtle }, + CmpItemAbbrDeprecated = { fg = palette.subtle, style = 'strikethrough' }, CmpItemAbbrMatch = { fg = palette.text, style = 'bold' }, CmpItemAbbrMatchFuzzy = { fg = palette.text, style = 'bold' }, - CmpItemAbbrDeprecated = { fg = palette.subtle, style = 'strikethrough' }, - CmpItemKindVariable = { fg = palette.foam }, + CmpItemKind = { fg = palette.iris }, CmpItemKindClass = { fg = palette.gold }, - CmpItemKindInterface = { fg = palette.gold }, CmpItemKindFunction = { fg = palette.iris }, + CmpItemKindInterface = { fg = palette.gold }, CmpItemKindMethod = { fg = palette.iris }, CmpItemKindSnippet = { fg = palette.iris }, + CmpItemKindVariable = { fg = palette.foam }, -- TimUntersberger/neogit NeogitDiffAddHighlight = { fg = palette.foam, bg = palette.highlight_med }, - NeogitDiffDeleteHighlight = { fg = palette.love, bg = palette.highlight_med }, NeogitDiffContextHighlight = { bg = palette.highlight_low }, + NeogitDiffDeleteHighlight = { fg = palette.love, bg = palette.highlight_med }, NeogitHunkHeader = { bg = palette.highlight_low }, NeogitHunkHeaderHighlight = { bg = palette.highlight_low }, @@ -388,17 +379,17 @@ local theme = { -- nvim-neorg/neorg NeorgHeading1Prefix = { fg = group.headings.h1, style = 'bold' }, - NeorgHeading1Title = { fg = group.headings.h1, style = 'bold' }, + NeorgHeading1Title = { link = 'NeorgHeading1Prefix' }, NeorgHeading2Prefix = { fg = group.headings.h2, style = 'bold' }, - NeorgHeading2Title = { fg = group.headings.h2, style = 'bold' }, + NeorgHeading2Title = { link = 'NeorgHeading2Prefix' }, NeorgHeading3Prefix = { fg = group.headings.h3, style = 'bold' }, - NeorgHeading3Title = { fg = group.headings.h3, style = 'bold' }, + NeorgHeading3Title = { link = 'NeorgHeading3Prefix' }, NeorgHeading4Prefix = { fg = group.headings.h4, style = 'bold' }, - NeorgHeading4Title = { fg = group.headings.h4, style = 'bold' }, + NeorgHeading4Title = { link = 'NeorgHeading4Prefix' }, NeorgHeading5Prefix = { fg = group.headings.h5, style = 'bold' }, - NeorgHeading5Title = { fg = group.headings.h5, style = 'bold' }, + NeorgHeading5Title = { link = 'NeorgHeading5Prefix' }, NeorgHeading6Prefix = { fg = group.headings.h6, style = 'bold' }, - NeorgHeading6Title = { fg = group.headings.h6, style = 'bold' }, + NeorgHeading6Title = { link = 'NeorgHeading6Prefix' }, NeorgMarkerTitle = { fg = palette.text, style = 'bold' }, -- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim) @@ -444,8 +435,8 @@ local theme = { TelescopeNormal = { fg = palette.subtle }, TelescopePromptNormal = { fg = palette.text }, TelescopePromptPrefix = { fg = palette.subtle }, - TelescopeSelection = { fg = palette.text, bg = palette.highlight_low }, - TelescopeSelectionCaret = { fg = palette.rose, bg = palette.highlight_low }, + TelescopeSelection = { fg = palette.text, bg = palette.overlay }, + TelescopeSelectionCaret = { fg = palette.rose, bg = palette.overlay }, TelescopeTitle = { fg = palette.subtle }, } From a42c0e69dfdd9749b23e402e5872637010a91ec9 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 7 Feb 2022 11:48:04 -0600 Subject: [PATCH 119/309] update active match highlight --- lua/rose-pine/theme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 484ce60..0c9e423 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -52,7 +52,7 @@ local theme = { FloatBorder = { fg = group.border }, FoldColumn = { fg = palette.muted }, Folded = { fg = palette.text, bg = palette.surface }, - IncSearch = { bg = palette.highlight_high }, + IncSearch = { fg = palette.base, bg = palette.rose }, LineNr = { fg = palette.muted }, MatchParen = { fg = palette.text, bg = palette.highlight_med }, ModeMsg = { fg = palette.subtle }, From 73c5046bf3dab3353490fbb9796342a75157f72e Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 7 Feb 2022 12:12:17 -0600 Subject: [PATCH 120/309] docs: update tag --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index bd14ad4..c9f8619 100644 --- a/readme.md +++ b/readme.md @@ -17,7 +17,7 @@ use({ 'rose-pine/neovim', as = 'rose-pine', - -- tag = '...', + tag = '0.5.0', config = function() vim.cmd('colorscheme rose-pine') end From acee7a0b0936b93c72d861239ab66f6f3604a44b Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 8 Feb 2022 08:58:53 -0600 Subject: [PATCH 121/309] reduce contrast of cursorline and cursorcolumn closes #65 --- lua/rose-pine/theme.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 0c9e423..36d393a 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -33,9 +33,9 @@ local theme = { ColorColumn = { bg = palette.highlight_high }, Conceal = { bg = palette.none }, -- Cursor = {}, - CursorColumn = { bg = palette.overlay }, + CursorColumn = { bg = palette.highlight_low }, -- CursorIM = {}, - CursorLine = { bg = palette.overlay }, + CursorLine = { bg = palette.highlight_low }, CursorLineNr = { fg = palette.text }, DarkenedPanel = { bg = palette.surface }, DarkenedStatusline = { bg = palette.surface }, From 0e23ee652d7b5430e06c288faae3cc16d3b36d06 Mon Sep 17 00:00:00 2001 From: Daniel Mathiot Date: Tue, 8 Feb 2022 19:47:47 +0100 Subject: [PATCH 122/309] feat: Add nvim-notify highlights (#66) --- lua/rose-pine/theme.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lua/rose-pine/theme.lua b/lua/rose-pine/theme.lua index 36d393a..4a2aafa 100644 --- a/lua/rose-pine/theme.lua +++ b/lua/rose-pine/theme.lua @@ -438,6 +438,23 @@ local theme = { TelescopeSelection = { fg = palette.text, bg = palette.overlay }, TelescopeSelectionCaret = { fg = palette.rose, bg = palette.overlay }, TelescopeTitle = { fg = palette.subtle }, + + -- rcarriga/nvim-notify + NotifyINFOBorder = { fg = palette.foam }, + NotifyINFOTitle = { link = 'NotifyINFOBorder' }, + NotifyINFOIcon = { link = 'NotifyINFOBorder' }, + NotifyWARNBorder = { fg = palette.gold }, + NotifyWARNTitle = { link = 'NotifyWARNBorder' }, + NotifyWARNIcon = { link = 'NotifyWARNBorder' }, + NotifyDEBUGBorder = { fg = palette.muted }, + NotifyDEBUGTitle = { link = 'NotifyDEBUGBorder' }, + NotifyDEBUGIcon = { link = 'NotifyDEBUGBorder' }, + NotifyTRACEBorder = { fg = palette.iris }, + NotifyTRACETitle = { link = 'NotifyTRACEBorder' }, + NotifyTRACEIcon = { link = 'NotifyTRACEBorder' }, + NotifyERRORBorder = { fg = palette.love }, + NotifyERRORTitle = { link = 'NotifyERRORBorder' }, + NotifyERRORIcon = { link = 'NotifyERRORBorder' }, } vim.g.terminal_color_0 = palette.overlay -- black From 6cbc72a75dd8a50382ac63fe8fb0734772d92cee Mon Sep 17 00:00:00 2001 From: not Date: Thu, 10 Feb 2022 10:31:12 -0600 Subject: [PATCH 123/309] Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c9f8619..9de2413 100644 --- a/readme.md +++ b/readme.md @@ -41,6 +41,7 @@ use({ - [lspsaga.nvim](https://github.com/tami5/lspsaga.nvim) - [pounce.nvim](https://github.com/rlane/pounce.nvim) - [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) +- [nvim-notify](https://github.com/rcarriga/nvim-notify) - [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) ```lua From c207a62f52f7af096aa3fe00a751ed5869ed6a62 Mon Sep 17 00:00:00 2001 From: not Date: Thu, 10 Feb 2022 16:04:33 -0600 Subject: [PATCH 124/309] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 9de2413..db9452a 100644 --- a/readme.md +++ b/readme.md @@ -17,7 +17,7 @@ use({ 'rose-pine/neovim', as = 'rose-pine', - tag = '0.5.0', + tag = 'v0.*', config = function() vim.cmd('colorscheme rose-pine') end From 317a7c8473c16ced00a876c3742635975a71a1c9 Mon Sep 17 00:00:00 2001 From: not Date: Sun, 13 Feb 2022 16:06:19 -0600 Subject: [PATCH 125/309] breaking: move to lua config (#64) Co-authored-by: fvrests --- colors/rose-pine.vim | 3 - lua/rose-pine/bufferline/init.lua | 23 - lua/rose-pine/config.lua | 74 --- lua/rose-pine/galaxyline/theme.lua | 22 +- lua/rose-pine/init.lua | 204 +++++-- lua/rose-pine/palette.lua | 8 +- lua/rose-pine/theme.lua | 896 ++++++++++++++--------------- readme.md | 91 ++- 8 files changed, 643 insertions(+), 678 deletions(-) delete mode 100644 lua/rose-pine/bufferline/init.lua delete mode 100644 lua/rose-pine/config.lua diff --git a/colors/rose-pine.vim b/colors/rose-pine.vim index af1ddba..0df6221 100644 --- a/colors/rose-pine.vim +++ b/colors/rose-pine.vim @@ -1,6 +1,3 @@ -lua package.loaded['rose-pine'] = nil -lua package.loaded['rose-pine.config'] = nil lua package.loaded['rose-pine.palette'] = nil -lua package.loaded['rose-pine.theme'] = nil lua require('rose-pine').colorscheme() diff --git a/lua/rose-pine/bufferline/init.lua b/lua/rose-pine/bufferline/init.lua deleted file mode 100644 index 3ae77b4..0000000 --- a/lua/rose-pine/bufferline/init.lua +++ /dev/null @@ -1,23 +0,0 @@ -local p = require('rose-pine.palette') - --- TODO: Someone who uses bufferline.nvim is free to PR with this addition --- `:h bufferline-highlights` --- --- The intended use would be (or any better solution): --- --- ``` --- local highlights = require('rose-pine.bufferline') --- require('bufferline').setup({ --- highlights = highlights --- }) --- ``` -return { - fill = { - guifg = p.text, - guibg = p.base, - }, - background = { - guifg = p.text, - guibg = p.base, - }, -} diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua deleted file mode 100644 index 6b3ac12..0000000 --- a/lua/rose-pine/config.lua +++ /dev/null @@ -1,74 +0,0 @@ -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 = { - variant = opt('variant', 'main'), - - bold_vertical_split_line = opt('bold_vertical_split_line', false), - disable_italics = opt('disable_italics', false), - disable_background = opt('disable_background', false), - disable_float_background = opt('disable_float_background', false), - inactive_background = opt('inactive_background', false), - - colors = { - border = palette.highlight_med, - comment = palette.muted, - link = palette.iris, - punctuation = palette.subtle, - - 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, - - ---@type string|table - headings = { - h1 = palette.iris, - h2 = palette.foam, - h3 = palette.rose, - h4 = palette.gold, - h5 = palette.pine, - h6 = palette.foam, - }, - }, -} - -local colors = vim.g.rose_pine_colors or {} - -if type(colors.headings) == 'string' then - colors.headings = { - h1 = colors.headings, - h2 = colors.headings, - h3 = colors.headings, - h4 = colors.headings, - h5 = colors.headings, - h6 = colors.headings, - } -end - -config.colors = vim.tbl_deep_extend('force', config.colors, colors) - -return config diff --git a/lua/rose-pine/galaxyline/theme.lua b/lua/rose-pine/galaxyline/theme.lua index 5142949..1183aa9 100644 --- a/lua/rose-pine/galaxyline/theme.lua +++ b/lua/rose-pine/galaxyline/theme.lua @@ -3,17 +3,17 @@ if not present then return end -local palette = require('rose-pine.palette') +local p = require('rose-pine.palette') galaxyline_colors['rose-pine'] = { - bg = palette.overlay, - fg = palette.text, - fg_alt = palette.subtle, - blue = palette.foam, - cyan = palette.foam, - green = palette.muted, - magenta = palette.iris, - orange = palette.rose, - red = palette.love, - yellow = palette.gold, + bg = p.overlay, + fg = p.text, + fg_alt = p.subtle, + blue = p.foam, + cyan = p.foam, + green = p.muted, + magenta = p.iris, + orange = p.rose, + red = p.love, + yellow = p.gold, } diff --git a/lua/rose-pine/init.lua b/lua/rose-pine/init.lua index f872457..4e10311 100644 --- a/lua/rose-pine/init.lua +++ b/lua/rose-pine/init.lua @@ -1,4 +1,156 @@ local M = {} +local show_init_messages = true + +local function check_for_deprecated_opts() + local alerts = {} + local should_alert = false + + -- Deprecated options + if vim.g.rose_pine_bold_vertical_split_line ~= nil then + should_alert = true + table.insert(alerts, 'vim.g.rose_pine_bold_vertical_split_line renamed to bold_vert_split') + end + + if vim.g.rose_pine_inactive_background ~= nil then + should_alert = true + table.insert(alerts, 'vim.g.rose_pine_inactive_background renamed to dim_nc_background') + end + + if vim.g.rose_pine_disable_background ~= nil then + should_alert = true + table.insert(alerts, 'vim.g.rose_pine_disable_background renamed to disable_background') + end + + if vim.g.rose_pine_disable_float_background ~= nil then + should_alert = true + table.insert( + alerts, + 'vim.g.rose_pine_disable_float_background renamed to disable_float_background' + ) + end + + if vim.g.rose_pine_disable_italics ~= nil then + should_alert = true + table.insert(alerts, 'vim.g.rose_pine_disable_italics renamed to disable_italics') + end + + if vim.g.rose_pine_colors ~= nil then + should_alert = true + table.insert(alerts, 'vim.g.rose_pine_colors renamed to groups') + end + + if should_alert then + local prefix = ' ' + print('Rosé Pine – https://github.com/rose-pine/neovim') + print(prefix .. 'vim.g.rose_pine_