From e62a61166ebfa2e5fdad4993310b290ac9b905c1 Mon Sep 17 00:00:00 2001 From: not Date: Fri, 26 Jan 2024 21:43:53 -0600 Subject: [PATCH 01/82] fix: regression in options (#221) * fix: headings not migrating to flat options * fix: invalid key when using inherit --- lua/rose-pine.lua | 4 ++-- lua/rose-pine/config.lua | 18 ++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 9240a51..c546297 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -780,10 +780,10 @@ local function set_highlights() end if (highlight.inherit == nil or highlight.inherit) and existing ~= nil then - highlight.inherit = nil + parsed.inherit = nil highlights[group] = vim.tbl_extend("force", existing, parsed) else - highlight.inherit = nil + parsed.inherit = nil highlights[group] = parsed end end diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index f127e33..cb99137 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -141,16 +141,13 @@ local function migrate(options) -- Set h1 through h6 to the same color if only one is specified if type(options.groups.headings) == "string" then - options.groups.headings = { - h1 = options.groups.headings, - h2 = options.groups.headings, - h3 = options.groups.headings, - h4 = options.groups.headings, - h5 = options.groups.headings, - h6 = options.groups.headings, - } - end - if type(options.groups.headings) == "table" then + options.groups.h1 = options.groups.headings + options.groups.h2 = options.groups.headings + options.groups.h3 = options.groups.headings + options.groups.h4 = options.groups.headings + options.groups.h5 = options.groups.headings + options.groups.h6 = options.groups.headings + elseif options.groups.headings == "table" then options.groups.h1 = options.groups.headings.h1 or options.groups.h1 options.groups.h2 = options.groups.headings.h2 or options.groups.h2 options.groups.h3 = options.groups.headings.h3 or options.groups.h3 @@ -158,6 +155,7 @@ local function migrate(options) options.groups.h5 = options.groups.headings.h5 or options.groups.h5 options.groups.h6 = options.groups.headings.h6 or options.groups.h6 end + options.groups.headings = nil return options end From 8514c638bce309dbfc5bd42de4e1f8fb5622875a Mon Sep 17 00:00:00 2001 From: Wahyu Wiyoko <137708513+wahyuwiyoko@users.noreply.github.com> Date: Sat, 27 Jan 2024 23:43:15 +0800 Subject: [PATCH 02/82] fix: misspelled highlight group name (#223) --- lua/rose-pine.lua | 8 +- lua/rose-pine/plugins/bufferline.lua | 190 +++++++++++++-------------- lua/rose-pine/plugins/galaxyline.lua | 2 +- lua/rose-pine/plugins/markid.lua | 2 +- lua/rose-pine/plugins/toggleterm.lua | 4 +- readme.md | 20 ++- 6 files changed, 112 insertions(+), 114 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index c546297..fe5f331 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -202,8 +202,8 @@ local function set_highlights() Macro = { fg = palette.iris }, Number = { fg = palette.gold }, Operator = { fg = palette.subtle }, - PreConduit = { fg = palette.iris }, - PreProc = { link = "PreConduit" }, + PreCondit = { fg = palette.iris }, + PreProc = { link = "PreCondit" }, Repeat = { fg = palette.pine }, Special = { fg = palette.foam }, SpecialChar = { link = "Special" }, @@ -547,7 +547,7 @@ local function set_highlights() -- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim) DefinitionCount = { fg = palette.rose }, DefinitionIcon = { fg = palette.rose }, - DefintionPreviewTitle = { fg = palette.rose, bold = styles.bold }, + DefinitionPreviewTitle = { fg = palette.rose, bold = styles.bold }, LspFloatWinBorder = make_border(), LspFloatWinNormal = { bg = groups.panel }, LspSagaAutoPreview = { fg = palette.subtle }, @@ -605,7 +605,7 @@ local function set_highlights() -- ibhagwan/fzf-lua FzfLuaNormal = { link = "NormalFloat" }, - FwzfLuaTitle = { fg = palette.foam, bold = styles.bold }, + FzfLuaTitle = { fg = palette.foam, bold = styles.bold }, FzfLuaBorder = make_border(), FzfLuaHeaderText = { fg = palette.love }, FzfLuaHeaderBind = { fg = palette.rose }, diff --git a/lua/rose-pine/plugins/bufferline.lua b/lua/rose-pine/plugins/bufferline.lua index 9f85ccd..7a96026 100644 --- a/lua/rose-pine/plugins/bufferline.lua +++ b/lua/rose-pine/plugins/bufferline.lua @@ -2,43 +2,43 @@ --- https://github.com/akinsho/bufferline.nvim --- --- @usage ---- local highlights = require('rose-pine.plugins.bufferline') ---- require('bufferline').setup({ highlights = highlights }) +--- local highlights = require("rose-pine.plugins.bufferline") +--- require("bufferline").setup({ highlights = highlights }) local p = require("rose-pine.palette") return { -- fill = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- background = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- tab = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, tab_selected = { fg = p.text, bg = p.overlay, }, -- tab_close = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- close_button = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- close_button_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- close_button_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, buffer_visible = { fg = p.subtle, @@ -51,172 +51,172 @@ return { italic = true, }, -- diagnostic = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- diagnostic_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- diagnostic_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, -- }, -- info = { - -- fg = '', - -- sp = '', - -- bg = '', + -- fg = "", + -- sp = "", + -- bg = "", -- }, -- info_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- info_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, - -- sp = '', + -- sp = "", -- }, -- info_diagnostic = { - -- fg = '', - -- sp = '', - -- bg = '', + -- fg = "", + -- sp = "", + -- bg = "", -- }, -- info_diagnostic_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- info_diagnostic_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, - -- sp = '', + -- sp = "", -- }, -- warning = { - -- fg = '', - -- sp = '', - -- bg = '', + -- fg = "", + -- sp = "", + -- bg = "", -- }, -- warning_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- warning_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, - -- sp = '', + -- sp = "", -- }, -- warning_diagnostic = { - -- fg = '', - -- sp = '', - -- bg = '', + -- fg = "", + -- sp = "", + -- bg = "", -- }, -- warning_diagnostic_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- warning_diagnostic_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, -- sp = warning_diagnostic_fg, -- }, -- error = { - -- fg = '', - -- bg = '', - -- sp = '', + -- fg = "", + -- bg = "", + -- sp = "", -- }, -- error_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- error_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, - -- sp = '', + -- sp = "", -- }, -- error_diagnostic = { - -- fg = '', - -- bg = '', - -- sp = '', + -- fg = "", + -- bg = "", + -- sp = "", -- }, -- error_diagnostic_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- error_diagnostic_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, - -- sp = '', + -- sp = "", -- }, -- modified = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- modified_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- modified_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- duplicate_selected = { - -- fg = '', + -- fg = "", -- italic = true, - -- bg = '', + -- bg = "", -- }, -- duplicate_visible = { - -- fg = '', + -- fg = "", -- italic = true, - -- bg = '', + -- bg = "", -- }, -- duplicate = { - -- fg = '', + -- fg = "", -- italic = true, - -- bg = '', + -- bg = "", -- }, -- separator_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- separator_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- separator = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- indicator_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- }, -- pick_selected = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- italic = true, -- }, -- pick_visible = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, -- }, -- pick = { - -- fg = '', - -- bg = '', + -- fg = "", + -- bg = "", -- bold = true, -- italic = true, -- }, diff --git a/lua/rose-pine/plugins/galaxyline.lua b/lua/rose-pine/plugins/galaxyline.lua index f2c01ab..05d9b28 100644 --- a/lua/rose-pine/plugins/galaxyline.lua +++ b/lua/rose-pine/plugins/galaxyline.lua @@ -2,7 +2,7 @@ --- https://github.com/NTBBloodbath/galaxyline.nvim --- --- @usage ---- local highlights = require('rose-pine.plugins.galaxyline') +--- local highlights = require("rose-pine.plugins.galaxyline") local p = require("rose-pine.palette") diff --git a/lua/rose-pine/plugins/markid.lua b/lua/rose-pine/plugins/markid.lua index 2a7b273..3d6d8f9 100644 --- a/lua/rose-pine/plugins/markid.lua +++ b/lua/rose-pine/plugins/markid.lua @@ -2,7 +2,7 @@ --- https://github.com/David-Kunz/markid --- --- @usage ---- local highlights = require('rose-pine.plugins.markid') +--- local highlights = require("rose-pine.plugins.markid") --- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } }) local p = require("rose-pine.palette") diff --git a/lua/rose-pine/plugins/toggleterm.lua b/lua/rose-pine/plugins/toggleterm.lua index 87b0abc..7f808eb 100644 --- a/lua/rose-pine/plugins/toggleterm.lua +++ b/lua/rose-pine/plugins/toggleterm.lua @@ -2,8 +2,8 @@ --- https://github.com/akinsho/toggleterm.nvim --- --- @usage ---- local highlights = require('rose-pine.plugins.toggleterm') ---- require('toggleterm').setup({ highlights = highlights }) +--- local highlights = require("rose-pine.plugins.toggleterm") +--- require("toggleterm").setup({ highlights = highlights }) return { Normal = { link = "Normal" }, diff --git a/readme.md b/readme.md index 7a4a93d..7c1ac9b 100644 --- a/readme.md +++ b/readme.md @@ -18,13 +18,13 @@ Install `rose-pine/neovim` using your favourite plugin manager: **paq-nvim** ```lua -{ 'rose-pine/neovim', as = 'rose-pine' } +{ "rose-pine/neovim", as = "rose-pine" } ``` **lazy.nvim** ```lua -{ 'rose-pine/neovim', name = 'rose-pine' } +{ "rose-pine/neovim", name = "rose-pine" } ``` ## Gallery @@ -51,7 +51,7 @@ Rosé Pine has three variants: main, moon, and dawn. By default, `vim.o.backgrou Colour values accept named colours from the [Rosé Pine palette](https://rosepinetheme.com/palette/ingredients/), e.g. "foam", or valid hex, e.g. "#fa8072". ```lua -require('rose-pine').setup({ +require("rose-pine").setup({ variant = "auto", -- auto, main, moon, or dawn dark_variant = "main", -- main, moon, or dawn dim_inactive_windows = false, @@ -59,10 +59,8 @@ require('rose-pine').setup({ enable = { terminal = true, - -- Improve compatibility for previous versions of Neovim - legacy_highlights = true, - -- Handle deprecated options automatically - migrations = true, + legacy_highlights = true, -- Improve compatibility for previous versions of Neovim + migrations = true, -- Handle deprecated options automatically }, styles = { @@ -120,10 +118,10 @@ require('rose-pine').setup({ end, }) -vim.cmd('colorscheme rose-pine') --- vim.cmd('colorscheme rose-pine-main') --- vim.cmd('colorscheme rose-pine-moon') --- vim.cmd('colorscheme rose-pine-dawn') +vim.cmd("colorscheme rose-pine") +-- vim.cmd("colorscheme rose-pine-main") +-- vim.cmd("colorscheme rose-pine-moon") +-- vim.cmd("colorscheme rose-pine-dawn") ``` > [!NOTE] From 0b77ef0e7ba20f6de9efb991bd46379144b534ba Mon Sep 17 00:00:00 2001 From: not Date: Sat, 27 Jan 2024 20:34:00 -0600 Subject: [PATCH 03/82] chore: update variable highlights (#226) --- lua/rose-pine.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index fe5f331..82c7c15 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -267,7 +267,7 @@ local function set_highlights() --- Identifiers ["@variable"] = { fg = palette.text, italic = styles.italic }, - ["@variable.builtin"] = { fg = palette.text, bold = styles.bold }, + ["@variable.builtin"] = { fg = palette.love, bold = styles.bold }, ["@variable.parameter"] = { fg = palette.iris, italic = styles.italic }, ["@variable.member"] = { fg = palette.foam }, @@ -395,7 +395,7 @@ local function set_highlights() ["@lsp.type.namespace"] = { link = "@namespace" }, ["@lsp.type.parameter"] = { link = "@parameter" }, ["@lsp.type.property"] = { link = "@property" }, - ["@lsp.type.variable"] = {}, + ["@lsp.type.variable"] = { link = "@variable" }, ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" }, ["@lsp.typemod.operator.injected"] = { link = "@operator" }, ["@lsp.typemod.string.injected"] = { link = "@string" }, From 4452ecd14092c7d9be3ae584611e539a03d6b09a Mon Sep 17 00:00:00 2001 From: Eric Milford Date: Sat, 27 Jan 2024 21:02:37 -0600 Subject: [PATCH 04/82] feat: Add support for Neotest (#225) https://github.com/nvim-neotest/neotest/ --- lua/rose-pine.lua | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 82c7c15..0a8081a 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -460,6 +460,26 @@ local function set_highlights() NvimTreeSpecialFile = { link = "NvimTreeNormal" }, NvimTreeWindowPicker = { link = "StatusLineTerm" }, + -- nvim-neotest/neotest + NeotestAdapterName = { fg = palette.iris }, + NeotestBorder = { fg = palette.highlight_med }, + NeotestDir = { fg = palette.foam }, + NeotestExpandMarker = { fg = palette.highlight_med }, + NeotestFailed = { fg = palette.love }, + NeotestFile = { fg = palette.text }, + NeotestFocused = { fg = palette.gold, bg = palette.highlight_med }, + NeotestIndent = { fg = "" }, + NeotestMarked = { fg = palette.rose, bold = styles.bold }, + NeotestNamespace = { fg = palette.gold }, + NeotestPassed = { fg = palette.pine }, + NeotestRunning = { fg = palette.gold }, + NeotestWinSelect = { fg = palette.muted }, + NeotestSkipped = { fg = palette.subtle }, + NeotestTarget = { fg = palette.love }, + NeotestTest = { fg = palette.gold }, + NeotestUnknown = { fg = palette.subtle }, + NeotestWatching = { fg = palette.iris }, + -- nvim-neo-tree/neo-tree.nvim NeoTreeGitAdded = { fg = groups.git_add }, NeoTreeGitConflict = { fg = groups.git_merge }, From 75d145fa0880294c78ca946247bdbc8dd2d309d1 Mon Sep 17 00:00:00 2001 From: Maxim Kozhukh <89997671+nicejji@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:48:02 +0300 Subject: [PATCH 05/82] fix: unable to override linked groups (#230) --- lua/rose-pine.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 0a8081a..d0b2324 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -787,6 +787,12 @@ local function set_highlights() if config.options.highlight_groups ~= nil and next(config.options.highlight_groups) ~= nil then for group, highlight in pairs(config.options.highlight_groups) do local existing = highlights[group] or {} + -- Traverse link due to + -- "If link is used in combination with other attributes; only the link will take effect" + -- see: https://neovim.io/doc/user/api.html#nvim_set_hl() + while existing.link ~= nil do + existing = highlights[existing.link] or {} + end local parsed = vim.tbl_extend("force", {}, highlight) if highlight.fg ~= nil then From 9d0e1b70d9de879be2dde1f2b1c69a6958d4083a Mon Sep 17 00:00:00 2001 From: Lin Tinusgrag Date: Mon, 29 Jan 2024 23:54:19 +0800 Subject: [PATCH 06/82] feat: make markdown headings distinguishable with treesitter (#232) --- lua/rose-pine.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index d0b2324..a965c28 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -372,6 +372,20 @@ local function set_highlights() ["@markup.list.checked"] = { fg = palette.foam, bg = palette.foam, blend = 10 }, ["@markup.list.unchecked"] = { fg = palette.text }, + -- Markdown headings + ["@markup.heading.1.markdown"] = { link = "markdownH1" }, + ["@markup.heading.2.markdown"] = { link = "markdownH2" }, + ["@markup.heading.3.markdown"] = { link = "markdownH3" }, + ["@markup.heading.4.markdown"] = { link = "markdownH4" }, + ["@markup.heading.5.markdown"] = { link = "markdownH5" }, + ["@markup.heading.6.markdown"] = { link = "markdownH6" }, + ["@markup.heading.1.marker.markdown"] = { link = "markdownH1Delimiter" }, + ["@markup.heading.2.marker.markdown"] = { link = "markdownH2Delimiter" }, + ["@markup.heading.3.marker.markdown"] = { link = "markdownH3Delimiter" }, + ["@markup.heading.4.marker.markdown"] = { link = "markdownH4Delimiter" }, + ["@markup.heading.5.marker.markdown"] = { link = "markdownH5Delimiter" }, + ["@markup.heading.6.marker.markdown"] = { link = "markdownH6Delimiter" }, + ["@diff.plus"] = { fg = groups.git_add, bg = groups.git_add, blend = 20 }, ["@diff.minus"] = { fg = groups.git_delete, bg = groups.git_delete, blend = 20 }, ["@diff.delta"] = { bg = groups.git_change, blend = 20 }, From 95e97671656fe69e91eb77d6585fc3565773e4d5 Mon Sep 17 00:00:00 2001 From: Maxim Kozhukh <89997671+nicejji@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:57:21 +0300 Subject: [PATCH 07/82] feat: use treesitter highlights for @lsp.type.variable (#233) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index a965c28..bd21454 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -409,7 +409,7 @@ local function set_highlights() ["@lsp.type.namespace"] = { link = "@namespace" }, ["@lsp.type.parameter"] = { link = "@parameter" }, ["@lsp.type.property"] = { link = "@property" }, - ["@lsp.type.variable"] = { link = "@variable" }, + ["@lsp.type.variable"] = {}, -- use treesitter styles for regular variables ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" }, ["@lsp.typemod.operator.injected"] = { link = "@operator" }, ["@lsp.typemod.string.injected"] = { link = "@string" }, From 4372c4eb4970fc30a213d1fd2363d30df23386c8 Mon Sep 17 00:00:00 2001 From: not Date: Thu, 8 Feb 2024 13:42:03 -0600 Subject: [PATCH 08/82] feat: improve markdown syntax (#237) * types: update highlight type * feat: improve markdown highlighting --- lua/rose-pine.lua | 6 +++++- lua/rose-pine/config.lua | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index bd21454..60b3e3c 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -362,11 +362,13 @@ local function set_highlights() ["@markup.environment.name"] = { link = "@type" }, -- ["@markup.link"] = {}, - ["@markup.link.label"] = { fg = palette.text }, + ["@markup.link.markdown_inline"] = { fg = palette.subtle }, + ["@markup.link.label.markdown_inline"] = { fg = palette.foam }, ["@markup.link.url"] = { fg = groups.link }, -- ["@markup.raw"] = { bg = palette.surface }, -- ["@markup.raw.block"] = { bg = palette.surface }, + ["@markup.raw.delimiter.markdown"] = { bg = palette.subtle }, ["@markup.list"] = { fg = palette.text }, ["@markup.list.checked"] = { fg = palette.foam, bg = palette.foam, blend = 10 }, @@ -397,6 +399,7 @@ local function set_highlights() --- Non-highlighting captures -- ["@none"] = {}, ["@conceal"] = { link = "Conceal" }, + ["@conceal.markdown"] = { fg = palette.subtle }, -- ["@spell"] = {}, -- ["@nospell"] = {}, @@ -764,6 +767,7 @@ local function set_highlights() TabLineSel = { fg = palette.text, bg = "NONE", bold = styles.bold }, -- ["@markup.raw"] = { bg = "none" }, + ["@markup.raw.markdown_inline"] = { fg = palette.gold }, -- ["@markup.raw.block"] = { bg = "none" }, TelescopeNormal = { fg = palette.subtle, bg = "NONE" }, diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index cb99137..7b6f8aa 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -1,7 +1,7 @@ ---@alias Variant "main" | "moon" | "dawn" ---@alias Palette { base: string, surface: string, overlay: string, muted: string, subtle: string, text: string, love: string, gold: string, rose: string, pine: string, foam: string, iris: string } ---@alias PaletteColor "base" | "surface" | "overlay" | "muted" | "subtle" | "text" | "love" | "gold" | "rose" | "pine" | "foam" | "iris" | "highlight_low" | "highlight_med" | "highlight_high" ----@alias Highlight { fg: string, bg: string, sp: string, bold: boolean, italic: boolean, undercurl: boolean, underline: boolean, underdouble: boolean, underdotted: boolean, underdashed: boolean, strikethrough: boolean, inherit: boolean } +---@alias Highlight { link: string, inherit: boolean } | { fg: string, bg: string, sp: string, bold: boolean, italic: boolean, undercurl: boolean, underline: boolean, underdouble: boolean, underdotted: boolean, underdashed: boolean, strikethrough: boolean, inherit: boolean } local config = {} From ea3f15ca95f0c22632b2ed7093b8440c16efd26c Mon Sep 17 00:00:00 2001 From: not Date: Thu, 8 Feb 2024 13:44:50 -0600 Subject: [PATCH 09/82] fix: markdown delimiter (#238) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 60b3e3c..2085b4d 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -368,7 +368,7 @@ local function set_highlights() -- ["@markup.raw"] = { bg = palette.surface }, -- ["@markup.raw.block"] = { bg = palette.surface }, - ["@markup.raw.delimiter.markdown"] = { bg = palette.subtle }, + ["@markup.raw.delimiter.markdown"] = { fg = palette.subtle }, ["@markup.list"] = { fg = palette.text }, ["@markup.list.checked"] = { fg = palette.foam, bg = palette.foam, blend = 10 }, From e28cda232b7571e0c97cd079bb8a8429d7f7a47c Mon Sep 17 00:00:00 2001 From: not Date: Sun, 11 Feb 2024 20:11:47 -0600 Subject: [PATCH 10/82] feat: prioritise semantic variable highlighting (#240) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 2085b4d..40ba83e 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -412,7 +412,7 @@ local function set_highlights() ["@lsp.type.namespace"] = { link = "@namespace" }, ["@lsp.type.parameter"] = { link = "@parameter" }, ["@lsp.type.property"] = { link = "@property" }, - ["@lsp.type.variable"] = {}, -- use treesitter styles for regular variables + ["@lsp.type.variable"] = { link = "@variable" }, ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" }, ["@lsp.typemod.operator.injected"] = { link = "@operator" }, ["@lsp.typemod.string.injected"] = { link = "@string" }, From 12ace889a0f65d4b8eb49dd286ff76947d24fbe1 Mon Sep 17 00:00:00 2001 From: Fitrah Date: Wed, 14 Feb 2024 23:58:18 +0800 Subject: [PATCH 11/82] fix(migrate): avoid ternary 'falls through' state (#242) See: https://riptutorial.com/lua/example/26503/emulating-ternary-operator-with--and---or--logical-operators-#undefined --- lua/rose-pine/config.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 7b6f8aa..562d2a4 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -133,11 +133,11 @@ local function migrate(options) -- These never actually existed, but may be set intuitively by the user -- because of `disable_italics` existing. - options.styles.bold = (options.disable_bold or options.disable_bolds) and false or options.styles.bold + options.styles.bold = not (options.disable_bold or options.disable_bolds) and options.styles.bold or false -- Similar to bold options, `disable_italic` never existed but could be a -- common typo of the actual `disable_italics`. - options.styles.italic = (options.disable_italic or options.disable_italics) and false or options.styles.italic + options.styles.italic = not (options.disable_italic or options.disable_italics) and options.styles.italic or false -- Set h1 through h6 to the same color if only one is specified if type(options.groups.headings) == "string" then From c8e97915d1d8be4371803a8077fd2b1ecdba44ca Mon Sep 17 00:00:00 2001 From: Andrew <63322884+winter-again@users.noreply.github.com> Date: Tue, 5 Mar 2024 09:47:17 -0500 Subject: [PATCH 12/82] feat: add highlight groups for folke/trouble.nvim (#248) --- lua/rose-pine.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 40ba83e..649fa99 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -727,6 +727,11 @@ local function set_highlights() -- folke/noice.nvim NoiceCursor = { fg = palette.highlight_high, bg = palette.text }, + -- folke/trouble.nvim + TroubleText = { fg = palette.subtle }, + TroubleCount = { fg = palette.iris, bg = palette.surface }, + TroubleNormal = { fg = palette.text, bg = groups.panel }, + -- echasnovski/mini.clue MiniClueTitle = { bg = groups.panel, bold = styles.bold }, From e901a53e41928b1134fa73f8ad3761e4b9d2137f Mon Sep 17 00:00:00 2001 From: James Knight <61782266+James-Kni@users.noreply.github.com> Date: Fri, 15 Mar 2024 17:08:52 +0000 Subject: [PATCH 13/82] feat: add mini.statusline highlights (#250) --- lua/rose-pine.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 649fa99..14d6bb8 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -743,6 +743,18 @@ local function set_highlights() MiniIndentscopeSymbol = { fg = palette.muted }, MiniIndentscopeSymbolOff = { fg = palette.muted }, + -- echasnovski/mini.statusline + MiniStatuslineDevinfo = { fg = palette.subtle, bg = palette.overlay }, + MiniStatuslineFileinfo = { link = "MiniStatuslineDevinfo" }, + MiniStatuslineFilename = { fg = palette.muted, bg = palette.surface }, + MiniStatuslineInactive = { link = "MiniStatuslineFilename" }, + MiniStatuslineModeCommand = { fg = palette.base, bg = palette.love, bold = styles.bold }, + MiniStatuslineModeInsert = { fg = palette.base, bg = palette.foam, bold = styles.bold }, + MiniStatuslineModeNormal = { fg = palette.base, bg = palette.rose, bold = styles.bold }, + MiniStatuslineModeOther = { fg = palette.base, bg = palette.rose, bold = styles.bold }, + MiniStatuslineModeReplace = { fg = palette.base, bg = palette.pine, bold = styles.bold }, + MiniStatuslineModeVisual = { fg = palette.base, bg = palette.iris, bold = styles.bold }, + -- goolord/alpha-nvim AlphaButtons = { fg = palette.foam }, AlphaFooter = { fg = palette.gold }, From 3dbb8a99bd72a3d916f5e9749f86d45dd37d0f1e Mon Sep 17 00:00:00 2001 From: not Date: Tue, 19 Mar 2024 18:51:46 -0500 Subject: [PATCH 14/82] feat: highlight lsp variable constant (#246) Closes #245 --- lua/rose-pine.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 14d6bb8..85a39f3 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -416,6 +416,7 @@ local function set_highlights() ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" }, ["@lsp.typemod.operator.injected"] = { link = "@operator" }, ["@lsp.typemod.string.injected"] = { link = "@string" }, + ["@lsp.typemod.variable.constant"] = { link = "@constant" }, ["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" }, ["@lsp.typemod.variable.injected"] = { link = "@variable" }, From a959c739103085c8383c1f6f0f6be9d888b6141f Mon Sep 17 00:00:00 2001 From: Jaehwang Jung Date: Sun, 24 Mar 2024 03:53:11 +0900 Subject: [PATCH 15/82] fix: clear autocmd when changing colorscheme (#254) --- lua/rose-pine.lua | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 85a39f3..ffdebe0 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -882,9 +882,13 @@ local function set_highlights() -- Support StatusLineTerm & StatusLineTermNC from vim vim.cmd([[ - autocmd TermOpen * if &buftype=='terminal' - \|setlocal winhighlight=StatusLine:StatusLineTerm,StatusLineNC:StatusLineTermNC - \|else|setlocal winhighlight=|endif + augroup rose-pine + autocmd! + autocmd TermOpen * if &buftype=='terminal' + \|setlocal winhighlight=StatusLine:StatusLineTerm,StatusLineNC:StatusLineTermNC + \|else|setlocal winhighlight=|endif + autocmd ColorSchemePre * autocmd! rose-pine + augroup END ]]) end end From 1f22d4e97eb584281f0f76b2961f72615ff9e634 Mon Sep 17 00:00:00 2001 From: not Date: Thu, 28 Mar 2024 19:32:00 -0500 Subject: [PATCH 16/82] feat: add mini.diff (#259) --- lua/rose-pine.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index ffdebe0..db6cdba 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -736,6 +736,15 @@ local function set_highlights() -- echasnovski/mini.clue MiniClueTitle = { bg = groups.panel, bold = styles.bold }, + -- echasnovski/mini.diff + MiniDiffOverAdd = { fg = groups.git_add, bg = groups.git_add, blend = 20 }, + MiniDiffOverChange = { fg = groups.git_change, bg = groups.git_change, blend = 20 }, + MiniDiffOverContext = { bg = palette.surface }, + MiniDiffOverDelete = { fg = groups.git_delete, bg = groups.git_delete, blend = 20 }, + MiniDiffSignAdd = { fg = groups.git_add }, + MiniDiffSignChange = { fg = groups.git_change }, + MiniDiffSignDelete = { fg = groups.git_delete }, + -- echasnovski/mini.pick MiniPickBorderText = { bg = groups.panel }, MiniPickPrompt = { bg = groups.panel, bold = styles.bold }, From 63f461336532a9b48241ac9fdea59f085c287b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20R=C3=BCberg?= Date: Sat, 30 Mar 2024 01:51:22 +0100 Subject: [PATCH 17/82] feat: add highlights for nvim-treesitter-context (#260) --- lua/rose-pine.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index db6cdba..554dcf3 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -773,6 +773,10 @@ local function set_highlights() -- github/copilot.vim CopilotSuggestion = { fg = palette.muted, italic = styles.italic }, + + -- nvim-treesitter/nvim-treesitter-context + TreesitterContext = { bg = "overlay" }, + TreesitterContextLineNumber = { fg = "rose", bg = "overlay" } } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 01dc90af2f7bc85581741bd9dae1ce1ab6282e2d Mon Sep 17 00:00:00 2001 From: Dave Greene Date: Fri, 29 Mar 2024 23:39:26 -0400 Subject: [PATCH 18/82] Fixed enum use vs magic string (#261) --- lua/rose-pine.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 554dcf3..184ef6f 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -775,8 +775,8 @@ local function set_highlights() CopilotSuggestion = { fg = palette.muted, italic = styles.italic }, -- nvim-treesitter/nvim-treesitter-context - TreesitterContext = { bg = "overlay" }, - TreesitterContextLineNumber = { fg = "rose", bg = "overlay" } + TreesitterContext = { bg = palette.overlay }, + TreesitterContextLineNumber = { fg = palette.rose, bg = palette.overlay } } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From e4c22a91633f2280f166306c2e14cee087a65914 Mon Sep 17 00:00:00 2001 From: Adam K <105152139+akthe-at@users.noreply.github.com> Date: Tue, 9 Apr 2024 12:56:29 -0500 Subject: [PATCH 19/82] fix(python): import semantic_tokens from basedpyright (#257) * fix(python): import semantic_tokens from basedpyright * fix: restores svelte string highlights --- lua/rose-pine.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 184ef6f..ce67514 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -412,13 +412,15 @@ local function set_highlights() ["@lsp.type.namespace"] = { link = "@namespace" }, ["@lsp.type.parameter"] = { link = "@parameter" }, ["@lsp.type.property"] = { link = "@property" }, - ["@lsp.type.variable"] = { link = "@variable" }, + ["@lsp.type.variable"] = {}, --defer to treesitter for regular variables + ["@lsp.type.variable.svelte"] = { link = "@variable" }, ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" }, ["@lsp.typemod.operator.injected"] = { link = "@operator" }, ["@lsp.typemod.string.injected"] = { link = "@string" }, ["@lsp.typemod.variable.constant"] = { link = "@constant" }, ["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" }, ["@lsp.typemod.variable.injected"] = { link = "@variable" }, + ["@lsp.type.namespace.python"] = { link = "@variable" }, --- Plugins -- romgrk/barbar.nvim From 465b7dc6233bc02b8869a6ebd617cd6181fd295d Mon Sep 17 00:00:00 2001 From: Dhruvin Shah <33428164+dhruvinsh@users.noreply.github.com> Date: Tue, 9 Apr 2024 13:57:04 -0400 Subject: [PATCH 20/82] feat: adding vim-illuminate highlights (#262) --- lua/rose-pine.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index ce67514..9cce6b8 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -818,6 +818,10 @@ local function set_highlights() MiniPickBorderText = { bg = "NONE" }, MiniPickPrompt = { bg = "NONE", bold = styles.bold }, + + IlluminatedWordText = { link = "LspReferenceText" }, + IlluminatedWordRead = { link = "LspReferenceRead" }, + IlluminatedWordWrite = { link = "LspReferenceWrite" }, } if config.options.enable.legacy_highlights then From 8d9c83d145ebf6bce7555d87448c1fc0b66cd4a9 Mon Sep 17 00:00:00 2001 From: not Date: Tue, 9 Apr 2024 13:00:32 -0500 Subject: [PATCH 21/82] format (#264) --- lua/rose-pine.lua | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 9cce6b8..514ba50 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -410,9 +410,10 @@ local function set_highlights() ["@lsp.type.interface"] = { link = "@interface" }, ["@lsp.type.keyword"] = { link = "@keyword" }, ["@lsp.type.namespace"] = { link = "@namespace" }, + ["@lsp.type.namespace.python"] = { link = "@variable" }, ["@lsp.type.parameter"] = { link = "@parameter" }, ["@lsp.type.property"] = { link = "@property" }, - ["@lsp.type.variable"] = {}, --defer to treesitter for regular variables + ["@lsp.type.variable"] = {}, -- defer to treesitter for regular variables ["@lsp.type.variable.svelte"] = { link = "@variable" }, ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" }, ["@lsp.typemod.operator.injected"] = { link = "@operator" }, @@ -420,7 +421,6 @@ local function set_highlights() ["@lsp.typemod.variable.constant"] = { link = "@constant" }, ["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" }, ["@lsp.typemod.variable.injected"] = { link = "@variable" }, - ["@lsp.type.namespace.python"] = { link = "@variable" }, --- Plugins -- romgrk/barbar.nvim @@ -778,7 +778,12 @@ local function set_highlights() -- nvim-treesitter/nvim-treesitter-context TreesitterContext = { bg = palette.overlay }, - TreesitterContextLineNumber = { fg = palette.rose, bg = palette.overlay } + TreesitterContextLineNumber = { fg = palette.rose, bg = palette.overlay }, + + -- RRethy/vim-illuminate + IlluminatedWordRead = { link = "LspReferenceRead" }, + IlluminatedWordText = { link = "LspReferenceText" }, + IlluminatedWordWrite = { link = "LspReferenceWrite" }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, @@ -818,10 +823,6 @@ local function set_highlights() MiniPickBorderText = { bg = "NONE" }, MiniPickPrompt = { bg = "NONE", bold = styles.bold }, - - IlluminatedWordText = { link = "LspReferenceText" }, - IlluminatedWordRead = { link = "LspReferenceRead" }, - IlluminatedWordWrite = { link = "LspReferenceWrite" }, } if config.options.enable.legacy_highlights then From c8477ee9787f0e3a426646606416ba48a02551e4 Mon Sep 17 00:00:00 2001 From: Hayden Rouille Date: Thu, 18 Apr 2024 15:48:05 +0100 Subject: [PATCH 22/82] For transparency, remove BG for buffers and gray out the text (#265) --- lua/rose-pine.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 514ba50..b980867 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -801,6 +801,7 @@ local function set_highlights() SignColumn = { fg = palette.text, bg = "NONE" }, StatusLine = { fg = palette.subtle, bg = "NONE" }, StatusLineNC = { fg = palette.muted, bg = "NONE" }, + TabLine = { bg = "NONE", fg = palette.subtle }, TabLineFill = { bg = "NONE" }, TabLineSel = { fg = palette.text, bg = "NONE", bold = styles.bold }, From cbc2064f4c2e6db97f3733e4c47f473f15706612 Mon Sep 17 00:00:00 2001 From: "PRIZ ;]" Date: Fri, 10 May 2024 12:22:41 -0500 Subject: [PATCH 23/82] feat: new themes for lualine (#267) --- lua/lualine/themes/rose-pine-alt.lua | 27 +---- lua/lualine/themes/rose-pine-inv.lua | 2 + lua/lualine/themes/rose-pine-neutral.lua | 2 + lua/lualine/themes/rose-pine.lua | 41 +------- lua/rose-pine/palette.lua | 11 +- lua/rose-pine/plugins/lualine.lua | 125 +++++++++++++++++++++++ 6 files changed, 140 insertions(+), 68 deletions(-) create mode 100644 lua/lualine/themes/rose-pine-inv.lua create mode 100644 lua/lualine/themes/rose-pine-neutral.lua create mode 100644 lua/rose-pine/plugins/lualine.lua diff --git a/lua/lualine/themes/rose-pine-alt.lua b/lua/lualine/themes/rose-pine-alt.lua index 05d8af7..0248420 100644 --- a/lua/lualine/themes/rose-pine-alt.lua +++ b/lua/lualine/themes/rose-pine-alt.lua @@ -1,26 +1 @@ -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" }, - }, -} +return require("rose-pine.plugins.lualine").alternate diff --git a/lua/lualine/themes/rose-pine-inv.lua b/lua/lualine/themes/rose-pine-inv.lua new file mode 100644 index 0000000..9c13a1d --- /dev/null +++ b/lua/lualine/themes/rose-pine-inv.lua @@ -0,0 +1,2 @@ +return require("rose-pine.plugins.lualine").inverse + diff --git a/lua/lualine/themes/rose-pine-neutral.lua b/lua/lualine/themes/rose-pine-neutral.lua new file mode 100644 index 0000000..1459e84 --- /dev/null +++ b/lua/lualine/themes/rose-pine-neutral.lua @@ -0,0 +1,2 @@ +return require("rose-pine.plugins.lualine").neutral + diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 4c2c9a6..2d33786 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,40 +1 @@ -local p = require("rose-pine.palette") -local config = require("rose-pine.config") - -local bg_base = p.base -if config.options.styles.transparency then - bg_base = "NONE" -end - -return { - normal = { - a = { bg = p.rose, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.rose }, - c = { bg = bg_base, fg = p.text }, - }, - insert = { - a = { bg = p.foam, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.foam }, - c = { bg = bg_base, fg = p.text }, - }, - visual = { - a = { bg = p.iris, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.iris }, - c = { bg = bg_base, fg = p.text }, - }, - replace = { - a = { bg = p.pine, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.pine }, - c = { bg = bg_base, fg = p.text }, - }, - command = { - a = { bg = p.love, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.love }, - c = { bg = bg_base, fg = p.text }, - }, - inactive = { - a = { bg = bg_base, fg = p.muted, gui = "bold" }, - b = { bg = bg_base, fg = p.muted }, - c = { bg = bg_base, fg = p.muted }, - }, -} +return require("rose-pine.plugins.lualine").normal diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 540625e..cb85e75 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -1,4 +1,5 @@ local options = require("rose-pine.config").options + local variants = { main = { _nc = "#16141f", @@ -59,8 +60,14 @@ local variants = { }, } + +local chosen if variants[options.variant] ~= nil then - return variants[options.variant] + chosen = variants[options.variant] +else + chosen = vim.o.background == "light" and variants.dawn or variants[options.dark_variant or "main"] end -return vim.o.background == "light" and variants.dawn or variants[options.dark_variant or "main"] +chosen.variants = variants + +return chosen diff --git a/lua/rose-pine/plugins/lualine.lua b/lua/rose-pine/plugins/lualine.lua new file mode 100644 index 0000000..eb59216 --- /dev/null +++ b/lua/rose-pine/plugins/lualine.lua @@ -0,0 +1,125 @@ +local palette = require("rose-pine.palette") + +local generator = {} + +function generator.alternate(p) + 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" }, + }, + variants = {}, + } +end + +function generator.normal(p) + local config = require("rose-pine.config") + + local bg_base = p.base + if config.options.styles.transparency then + bg_base = "NONE" + end + + return { + normal = { + a = { bg = p.rose, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.rose }, + c = { bg = bg_base, fg = p.text }, + }, + insert = { + a = { bg = p.foam, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.foam }, + }, + visual = { + a = { bg = p.iris, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.iris }, + }, + replace = { + a = { bg = p.pine, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.pine }, + }, + command = { + a = { bg = p.love, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.love }, + }, + inactive = { + a = { bg = bg_base, fg = p.muted, gui = "bold" }, + b = { bg = bg_base, fg = p.muted }, + c = { bg = bg_base, fg = p.muted }, + }, + variants = {}, + } +end + +function generator.neutral(p) + return { + normal = { + a = { bg = p.rose, fg = p.base, gui = "bold" }, + b = { bg = p.highlight_med, fg = p.rose }, + c = { bg = p.highlight_high, fg = p.text }, + }, + insert = { + a = { bg = p.foam, fg = p.base, gui = "bold" }, + b = { bg = p.highlight_med, fg = p.foam }, + }, + visual = { + a = { bg = p.iris, fg = p.base, gui = "bold" }, + b = { bg = p.highlight_med, fg = p.iris }, + }, + replace = { + a = { bg = p.pine, fg = p.base, gui = "bold" }, + b = { bg = p.highlight_med, fg = p.pine }, + }, + command = { + a = { bg = p.love, fg = p.base, gui = "bold" }, + b = { bg = p.highlight_med, fg = p.love }, + }, + inactive = { + a = { bg = p.muted, fg = p.overlay, gui = "bold" }, + b = { bg = p.muted, fg = p.overlay }, + c = { bg = p.muted, fg = p.base }, + }, + variants = {} + } +end + +function generator.inverse(p) + if p.base == palette.variants.moon.base then + return generator.normal(palette.variants.dawn) + elseif p.base == palette.variants.main.base then + return generator.normal(palette.variants.dawn) + elseif p.base == palette.variants.dawn.base then + return generator.normal(palette.variants.moon) + end +end + +-- function generator. + +local default = {} + +for t, fn in pairs(generator) do + default[t] = fn(palette) + for k, v in pairs(palette.variants) do + default[t].variants[k] = fn(v) + end +end + +return default From f67828be44915a1aaf8d0f3abf47c0e1d91da4ef Mon Sep 17 00:00:00 2001 From: not Date: Tue, 14 May 2024 09:42:41 -0500 Subject: [PATCH 24/82] Revert "feat: new themes for lualine (#267)" (#269) This reverts commit cbc2064f4c2e6db97f3733e4c47f473f15706612. --- lua/lualine/themes/rose-pine-alt.lua | 27 ++++- lua/lualine/themes/rose-pine-inv.lua | 2 - lua/lualine/themes/rose-pine-neutral.lua | 2 - lua/lualine/themes/rose-pine.lua | 41 +++++++- lua/rose-pine/palette.lua | 11 +- lua/rose-pine/plugins/lualine.lua | 125 ----------------------- 6 files changed, 68 insertions(+), 140 deletions(-) delete mode 100644 lua/lualine/themes/rose-pine-inv.lua delete mode 100644 lua/lualine/themes/rose-pine-neutral.lua delete mode 100644 lua/rose-pine/plugins/lualine.lua diff --git a/lua/lualine/themes/rose-pine-alt.lua b/lua/lualine/themes/rose-pine-alt.lua index 0248420..05d8af7 100644 --- a/lua/lualine/themes/rose-pine-alt.lua +++ b/lua/lualine/themes/rose-pine-alt.lua @@ -1 +1,26 @@ -return require("rose-pine.plugins.lualine").alternate +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" }, + }, +} diff --git a/lua/lualine/themes/rose-pine-inv.lua b/lua/lualine/themes/rose-pine-inv.lua deleted file mode 100644 index 9c13a1d..0000000 --- a/lua/lualine/themes/rose-pine-inv.lua +++ /dev/null @@ -1,2 +0,0 @@ -return require("rose-pine.plugins.lualine").inverse - diff --git a/lua/lualine/themes/rose-pine-neutral.lua b/lua/lualine/themes/rose-pine-neutral.lua deleted file mode 100644 index 1459e84..0000000 --- a/lua/lualine/themes/rose-pine-neutral.lua +++ /dev/null @@ -1,2 +0,0 @@ -return require("rose-pine.plugins.lualine").neutral - diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 2d33786..4c2c9a6 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1 +1,40 @@ -return require("rose-pine.plugins.lualine").normal +local p = require("rose-pine.palette") +local config = require("rose-pine.config") + +local bg_base = p.base +if config.options.styles.transparency then + bg_base = "NONE" +end + +return { + normal = { + a = { bg = p.rose, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.rose }, + c = { bg = bg_base, fg = p.text }, + }, + insert = { + a = { bg = p.foam, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.foam }, + c = { bg = bg_base, fg = p.text }, + }, + visual = { + a = { bg = p.iris, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.iris }, + c = { bg = bg_base, fg = p.text }, + }, + replace = { + a = { bg = p.pine, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.pine }, + c = { bg = bg_base, fg = p.text }, + }, + command = { + a = { bg = p.love, fg = p.base, gui = "bold" }, + b = { bg = p.overlay, fg = p.love }, + c = { bg = bg_base, fg = p.text }, + }, + inactive = { + a = { bg = bg_base, fg = p.muted, gui = "bold" }, + b = { bg = bg_base, fg = p.muted }, + c = { bg = bg_base, fg = p.muted }, + }, +} diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index cb85e75..540625e 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -1,5 +1,4 @@ local options = require("rose-pine.config").options - local variants = { main = { _nc = "#16141f", @@ -60,14 +59,8 @@ local variants = { }, } - -local chosen if variants[options.variant] ~= nil then - chosen = variants[options.variant] -else - chosen = vim.o.background == "light" and variants.dawn or variants[options.dark_variant or "main"] + return variants[options.variant] end -chosen.variants = variants - -return chosen +return vim.o.background == "light" and variants.dawn or variants[options.dark_variant or "main"] diff --git a/lua/rose-pine/plugins/lualine.lua b/lua/rose-pine/plugins/lualine.lua deleted file mode 100644 index eb59216..0000000 --- a/lua/rose-pine/plugins/lualine.lua +++ /dev/null @@ -1,125 +0,0 @@ -local palette = require("rose-pine.palette") - -local generator = {} - -function generator.alternate(p) - 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" }, - }, - variants = {}, - } -end - -function generator.normal(p) - local config = require("rose-pine.config") - - local bg_base = p.base - if config.options.styles.transparency then - bg_base = "NONE" - end - - return { - normal = { - a = { bg = p.rose, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.rose }, - c = { bg = bg_base, fg = p.text }, - }, - insert = { - a = { bg = p.foam, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.foam }, - }, - visual = { - a = { bg = p.iris, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.iris }, - }, - replace = { - a = { bg = p.pine, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.pine }, - }, - command = { - a = { bg = p.love, fg = p.base, gui = "bold" }, - b = { bg = p.overlay, fg = p.love }, - }, - inactive = { - a = { bg = bg_base, fg = p.muted, gui = "bold" }, - b = { bg = bg_base, fg = p.muted }, - c = { bg = bg_base, fg = p.muted }, - }, - variants = {}, - } -end - -function generator.neutral(p) - return { - normal = { - a = { bg = p.rose, fg = p.base, gui = "bold" }, - b = { bg = p.highlight_med, fg = p.rose }, - c = { bg = p.highlight_high, fg = p.text }, - }, - insert = { - a = { bg = p.foam, fg = p.base, gui = "bold" }, - b = { bg = p.highlight_med, fg = p.foam }, - }, - visual = { - a = { bg = p.iris, fg = p.base, gui = "bold" }, - b = { bg = p.highlight_med, fg = p.iris }, - }, - replace = { - a = { bg = p.pine, fg = p.base, gui = "bold" }, - b = { bg = p.highlight_med, fg = p.pine }, - }, - command = { - a = { bg = p.love, fg = p.base, gui = "bold" }, - b = { bg = p.highlight_med, fg = p.love }, - }, - inactive = { - a = { bg = p.muted, fg = p.overlay, gui = "bold" }, - b = { bg = p.muted, fg = p.overlay }, - c = { bg = p.muted, fg = p.base }, - }, - variants = {} - } -end - -function generator.inverse(p) - if p.base == palette.variants.moon.base then - return generator.normal(palette.variants.dawn) - elseif p.base == palette.variants.main.base then - return generator.normal(palette.variants.dawn) - elseif p.base == palette.variants.dawn.base then - return generator.normal(palette.variants.moon) - end -end - --- function generator. - -local default = {} - -for t, fn in pairs(generator) do - default[t] = fn(palette) - for k, v in pairs(palette.variants) do - default[t].variants[k] = fn(v) - end -end - -return default From 511e82e2724cd2adc172bcc5a9abdaa1c4837323 Mon Sep 17 00:00:00 2001 From: abvee <82954751+abvee@users.noreply.github.com> Date: Sun, 26 May 2024 02:52:38 +0000 Subject: [PATCH 25/82] Added ["@float"] to default_highlights (#272) (#273) --- lua/rose-pine.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index b980867..5ac2234 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -295,6 +295,7 @@ local function set_highlights() ["@boolean"] = { link = "Boolean" }, ["@number"] = { link = "Number" }, ["@number.float"] = { link = "Number" }, + ["@float"] = { link = "Number" }, --- Types ["@type"] = { fg = palette.foam }, From 958dce3da98859900e27ce5918335106a8e6c9a1 Mon Sep 17 00:00:00 2001 From: not Date: Sun, 9 Jun 2024 10:48:51 -0500 Subject: [PATCH 26/82] feat: support upcoming modes.nvim update (#274) [modes.nvim](https://github.com/mvllow/modes.nvim) is about to incorporate replace mode. --- lua/rose-pine.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 5ac2234..5ac8e67 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -454,6 +454,7 @@ local function set_highlights() ModesCopy = { bg = palette.gold }, ModesDelete = { bg = palette.love }, ModesInsert = { bg = palette.foam }, + ModesReplace = { bg = palette.pine }, ModesVisual = { bg = palette.iris }, -- kyazdani42/nvim-tree.lua From 6d476a5c64f6e712880d8ab5368f006011903eeb Mon Sep 17 00:00:00 2001 From: Evgeni Chasnovski Date: Thu, 27 Jun 2024 20:51:35 +0300 Subject: [PATCH 27/82] feat: add explicit full 'mini.nvim' support (#279) --- lua/rose-pine.lua | 120 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 108 insertions(+), 12 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 5ac8e67..1b7da63 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -737,10 +737,34 @@ local function set_highlights() TroubleCount = { fg = palette.iris, bg = palette.surface }, TroubleNormal = { fg = palette.text, bg = groups.panel }, - -- echasnovski/mini.clue + -- echasnovski/mini.nvim + MiniAnimateCursor = { reverse = true, nocombine = true }, + MiniAnimateNormalFloat = { link = "NormalFloat" }, + + MiniClueBorder = { link = "FloatBorder" }, + MiniClueDescGroup = { link = "DiagnosticFloatingWarn" }, + MiniClueDescSingle = { link = "NormalFloat" }, + MiniClueNextKey = { link = "DiagnosticFloatingHint" }, + MiniClueNextKeyWithPostkeys = { link = "DiagnosticFloatingError" }, + MiniClueSeparator = { link = "DiagnosticFloatingInfo" }, MiniClueTitle = { bg = groups.panel, bold = styles.bold }, - -- echasnovski/mini.diff + MiniCompletionActiveParameter = { underline = true }, + + MiniCursorword = { underline = true }, + MiniCursorwordCurrent = { underline = true }, + + MiniDepsChangeAdded = { fg = groups.git_add }, + MiniDepsChangeRemoved = { fg = groups.git_delete }, + MiniDepsHint = { link = "DiagnosticHint" }, + MiniDepsInfo = { link = "DiagnosticInfo" }, + MiniDepsMsgBreaking = { link = "DiagnosticWarn" }, + MiniDepsPlaceholder = { link = "Comment" }, + MiniDepsTitle = { link = "Title" }, + MiniDepsTitleError = { link = "DiffDelete" }, + MiniDepsTitleSame = { link = "DiffText" }, + MiniDepsTitleUpdate = { link = "DiffAdd" }, + MiniDiffOverAdd = { fg = groups.git_add, bg = groups.git_add, blend = 20 }, MiniDiffOverChange = { fg = groups.git_change, bg = groups.git_change, blend = 20 }, MiniDiffOverContext = { bg = palette.surface }, @@ -749,15 +773,75 @@ local function set_highlights() MiniDiffSignChange = { fg = groups.git_change }, MiniDiffSignDelete = { fg = groups.git_delete }, - -- echasnovski/mini.pick + MiniFilesBorder = { link = "FloatBorder" }, + MiniFilesBorderModified = { link = "DiagnosticFloatingWarn" }, + MiniFilesCursorLine = { link = "CursorLine" }, + MiniFilesDirectory = { link = "Directory" }, + MiniFilesFile = { fg = palette.text }, + MiniFilesNormal = { link = "NormalFloat" }, + MiniFilesTitle = { link = "FloatTitle" }, + MiniFilesTitleFocused = { fg = palette.rose, bold = styles.bold }, + + MiniHipatternsFixme = { fg = palette.base, bg = groups.error, bold = styles.bold }, + MiniHipatternsHack = { fg = palette.base, bg = groups.warn, bold = styles.bold }, + MiniHipatternsNote = { fg = palette.base, bg = groups.info, bold = styles.bold }, + MiniHipatternsTodo = { fg = palette.base, bg = groups.hint, bold = styles.bold }, + + MiniIconsAzure = { fg = palette.foam }, + MiniIconsBlue = { fg = palette.pine }, + MiniIconsCyan = { fg = palette.pine }, + MiniIconsGreen = { fg = palette.foam }, + MiniIconsGrey = { fg = palette.text }, + MiniIconsOrange = { fg = palette.gold }, + MiniIconsPurple = { fg = palette.iris }, + MiniIconsRed = { fg = palette.love }, + MiniIconsYellow = { fg = palette.gold }, + + MiniIndentscopeSymbol = { fg = palette.muted }, + MiniIndentscopeSymbolOff = { fg = palette.gold }, + + MiniJump = { sp = palette.gold, undercurl = true }, + + MiniJump2dDim = { fg = palette.subtle }, + MiniJump2dSpot = { fg = palette.gold, bold = styles.bold, nocombine = true }, + MiniJump2dSpotAhead = { fg = palette.foam, bg = palette.surface, nocombine = true }, + MiniJump2dSpotUnique = { fg = palette.rose, bold = styles.bold, nocombine = true }, + + MiniMapNormal = { link = "NormalFloat" }, + MiniMapSymbolCount = { link = "Special" }, + MiniMapSymbolLine = { link = "Title" }, + MiniMapSymbolView = { link = "Delimiter" }, + + MiniNotifyBorder = { link = "FloatBorder" }, + MiniNotifyNormal = { link = "NormalFloat" }, + MiniNotifyTitle = { link = "FloatTitle" }, + + MiniOperatorsExchangeFrom = { link = "IncSearch" }, + + MiniPickBorder = { link = "FloatBorder" }, + MiniPickBorderBusy = { link = "DiagnosticFloatingWarn" }, MiniPickBorderText = { bg = groups.panel }, + MiniPickIconDirectory = { link = "Directory" }, + MiniPickIconFile = { link = "MiniPickNormal" }, + MiniPickHeader = { link = "DiagnosticFloatingHint" }, + MiniPickMatchCurrent = { link = "CursorLine" }, + MiniPickMatchMarked = { link = "Visual" }, + MiniPickMatchRanges = { fg = palette.foam }, + MiniPickNormal = { link = "NormalFloat" }, + MiniPickPreviewLine = { link = "CursorLine" }, + MiniPickPreviewRegion = { link = "IncSearch" }, MiniPickPrompt = { bg = groups.panel, bold = styles.bold }, - -- echasnovski/mini.indentscope - MiniIndentscopeSymbol = { fg = palette.muted }, - MiniIndentscopeSymbolOff = { fg = palette.muted }, + MiniStarterCurrent = { nocombine = true }, + MiniStarterFooter = { fg = palette.subtle }, + MiniStarterHeader = { link = "Title" }, + MiniStarterInactive = { link = "Comment" }, + MiniStarterItem = { link = "Normal" }, + MiniStarterItemBullet = { link = "Delimiter" }, + MiniStarterItemPrefix = { link = "WarningMsg" }, + MiniStarterSection = { fg = palette.rose }, + MiniStarterQuery = { link = "MoreMsg" }, - -- echasnovski/mini.statusline MiniStatuslineDevinfo = { fg = palette.subtle, bg = palette.overlay }, MiniStatuslineFileinfo = { link = "MiniStatuslineDevinfo" }, MiniStatuslineFilename = { fg = palette.muted, bg = palette.surface }, @@ -769,6 +853,23 @@ local function set_highlights() MiniStatuslineModeReplace = { fg = palette.base, bg = palette.pine, bold = styles.bold }, MiniStatuslineModeVisual = { fg = palette.base, bg = palette.iris, bold = styles.bold }, + MiniSurround = { link = "IncSearch" }, + + MiniTablineCurrent = { fg = palette.text, bg = palette.overlay, bold = styles.bold }, + MiniTablineFill = { link = "TabLineFill" }, + MiniTablineHidden = { fg = palette.subtle, bg = groups.panel }, + MiniTablineModifiedCurrent = { fg = palette.overlay, bg = palette.text, bold = styles.bold }, + MiniTablineModifiedHidden = { fg = groups.panel, bg = palette.subtle }, + MiniTablineModifiedVisible = { fg = groups.panel, bg = palette.text }, + MiniTablineTabpagesection = { link = "Search" }, + MiniTablineVisible = { fg = palette.text, bg = groups.panel }, + + MiniTestEmphasis = { bold = styles.bold }, + MiniTestFail = { fg = palette.love, bold = styles.bold }, + MiniTestPass = { fg = palette.foam, bold = styles.bold }, + + MiniTrailspace = { bg = palette.love }, + -- goolord/alpha-nvim AlphaButtons = { fg = palette.foam }, AlphaFooter = { fg = palette.gold }, @@ -821,11 +922,6 @@ local function set_highlights() IblIndent = { fg = palette.overlay, bg = "NONE" }, IblScope = { fg = palette.foam, bg = "NONE" }, IblWhitespace = { fg = palette.overlay, bg = "NONE" }, - - MiniClueTitle = { bg = "NONE", bold = styles.bold }, - - MiniPickBorderText = { bg = "NONE" }, - MiniPickPrompt = { bg = "NONE", bold = styles.bold }, } if config.options.enable.legacy_highlights then From 71852123ccebf4f30cb1aaa69d0532b861b4728c Mon Sep 17 00:00:00 2001 From: not Date: Thu, 27 Jun 2024 12:55:27 -0500 Subject: [PATCH 28/82] feat: set matching background on MiniFilesTitle (#280) --- lua/rose-pine.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 1b7da63..159185c 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -779,8 +779,8 @@ local function set_highlights() MiniFilesDirectory = { link = "Directory" }, MiniFilesFile = { fg = palette.text }, MiniFilesNormal = { link = "NormalFloat" }, - MiniFilesTitle = { link = "FloatTitle" }, - MiniFilesTitleFocused = { fg = palette.rose, bold = styles.bold }, + MiniFilesTitle = { bg = groups.panel, fg = palette.foam, bold = styles.bold }, + MiniFilesTitleFocused = { bg = groups.panel, fg = palette.rose, bold = styles.bold }, MiniHipatternsFixme = { fg = palette.base, bg = groups.error, bold = styles.bold }, MiniHipatternsHack = { fg = palette.base, bg = groups.warn, bold = styles.bold }, From 69b3aa9500058e6558c48f867939c2d87ce1856f Mon Sep 17 00:00:00 2001 From: Ilya Kuporosov <88616652+hansumane@users.noreply.github.com> Date: Wed, 3 Jul 2024 14:23:19 -0700 Subject: [PATCH 29/82] fix: link `@lsp.type.comment.c`, `@lsp.type.comment.cpp` to `@comment` (#282) It fixes branches of conditional directives like `#if` and `#ifdef` in C and C++ appearing as if they both are true, without breaking TODO comments. --- lua/rose-pine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 159185c..0aa5c78 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -407,6 +407,8 @@ local function set_highlights() --- Semantic ["@lsp.type.comment"] = {}, + ["@lsp.type.comment.c"] = { link = "@comment" }, + ["@lsp.type.comment.cpp"] = { link = "@comment" }, ["@lsp.type.enum"] = { link = "@type" }, ["@lsp.type.interface"] = { link = "@interface" }, ["@lsp.type.keyword"] = { link = "@keyword" }, From fe5f4e11f72908ce3b528397757540ea9ec22823 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Mon, 15 Jul 2024 11:21:08 -0400 Subject: [PATCH 30/82] chore: update highlights for which-key.nvim (#287) * chore: update highlights for which-key.nvim * fix: revert placement of WhichKeyFloat hl group * feat: add additional highlight groups for icons in which-key * Revert "feat: add additional highlight groups for icons in which-key" Need to come up with a different solution. This reverts commit 18d70420a2a0ff9fa70a0ca88b84b147ff494a39. * fix: use explicit fg and bg for WhichKeyTitle * Revert "fix: use explicit fg and bg for WhichKeyTitle" Breaks extend_background_behind_borders again... Oops This reverts commit 1389556a198e88fd763f772dec4f4c95bf08ec1c. --- lua/rose-pine.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 0aa5c78..fbc5445 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -519,10 +519,13 @@ local function set_highlights() -- folke/which-key.nvim WhichKey = { fg = palette.iris }, + WhichKeyBorder = make_border(), WhichKeyDesc = { fg = palette.gold }, WhichKeyFloat = { bg = groups.panel }, WhichKeyGroup = { fg = palette.foam }, + WhichKeyNormal = { link = "NormalFloat" }, WhichKeySeparator = { fg = palette.subtle }, + WhichKeyTitle = make_border(palette.foam), WhichKeyValue = { fg = palette.rose }, -- lukas-reineke/indent-blankline.nvim @@ -920,6 +923,7 @@ local function set_highlights() TelescopeSelectionCaret = { fg = palette.rose }, WhichKeyFloat = { bg = "NONE" }, + WhichKeyNormal = { bg = "NONE" }, IblIndent = { fg = palette.overlay, bg = "NONE" }, IblScope = { fg = palette.foam, bg = "NONE" }, From c4b55e85fb8d04c8b7062c53034747448c07e901 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Sun, 21 Jul 2024 14:17:17 -0400 Subject: [PATCH 31/82] feat(palette): add initial support for new color `leaf` (#290) * feat(palette): add new color 'leaf' * feat: add highlight groups to defaults --- lua/rose-pine.lua | 7 +++++++ lua/rose-pine/config.lua | 3 ++- lua/rose-pine/palette.lua | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index fbc5445..73712cd 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -155,26 +155,32 @@ local function set_highlights() DiagnosticError = { fg = groups.error }, DiagnosticHint = { fg = groups.hint }, DiagnosticInfo = { fg = groups.info }, + DiagnosticOk = { fg = groups.ok }, DiagnosticWarn = { fg = groups.warn }, DiagnosticDefaultError = { link = "DiagnosticError" }, DiagnosticDefaultHint = { link = "DiagnosticHint" }, DiagnosticDefaultInfo = { link = "DiagnosticInfo" }, + DiagnosticDefaultOk = { link = "DiagnosticOk" }, DiagnosticDefaultWarn = { link = "DiagnosticWarn" }, DiagnosticFloatingError = { link = "DiagnosticError" }, DiagnosticFloatingHint = { link = "DiagnosticHint" }, DiagnosticFloatingInfo = { link = "DiagnosticInfo" }, + DiagnosticFloatingOk = { link = "DiagnosticOk" }, DiagnosticFloatingWarn = { link = "DiagnosticWarn" }, DiagnosticSignError = { link = "DiagnosticError" }, DiagnosticSignHint = { link = "DiagnosticHint" }, DiagnosticSignInfo = { link = "DiagnosticInfo" }, + DiagnosticSignOk = { link = "DiagnosticOk" }, DiagnosticSignWarn = { link = "DiagnosticWarn" }, DiagnosticUnderlineError = { sp = groups.error, undercurl = true }, DiagnosticUnderlineHint = { sp = groups.hint, undercurl = true }, DiagnosticUnderlineInfo = { sp = groups.info, undercurl = true }, + DiagnosticUnderlineOk = { sp = groups.ok, undercurl = true }, DiagnosticUnderlineWarn = { sp = groups.warn, undercurl = true }, DiagnosticVirtualTextError = { fg = groups.error, bg = groups.error, blend = 10 }, DiagnosticVirtualTextHint = { fg = groups.hint, bg = groups.hint, blend = 10 }, DiagnosticVirtualTextInfo = { fg = groups.info, bg = groups.info, blend = 10 }, + DiagnosticVirtualTextOk = { fg = groups.ok, bg = groups.ok, blend = 10 }, DiagnosticVirtualTextWarn = { fg = groups.warn, bg = groups.warn, blend = 10 }, Boolean = { fg = palette.rose }, @@ -897,6 +903,7 @@ local function set_highlights() DiagnosticVirtualTextError = { fg = groups.error }, DiagnosticVirtualTextHint = { fg = groups.hint }, DiagnosticVirtualTextInfo = { fg = groups.info }, + DiagnosticVirtualTextOk = { fg = groups.ok }, DiagnosticVirtualTextWarn = { fg = groups.warn }, FloatBorder = { fg = palette.muted, bg = "NONE" }, diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index 562d2a4..cdbec69 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -44,9 +44,10 @@ config.options = { error = "love", hint = "iris", info = "foam", + ok = "leaf", + warn = "gold", note = "pine", todo = "rose", - warn = "gold", git_add = "foam", git_change = "rose", diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index 540625e..ffa5f81 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -14,6 +14,7 @@ local variants = { pine = "#31748f", foam = "#9ccfd8", iris = "#c4a7e7", + leaf = "#95b1ac", highlight_low = "#21202e", highlight_med = "#403d52", highlight_high = "#524f67", @@ -33,6 +34,7 @@ local variants = { pine = "#3e8fb0", foam = "#9ccfd8", iris = "#c4a7e7", + leaf = "#95b1ac", highlight_low = "#2a283e", highlight_med = "#44415a", highlight_high = "#56526e", @@ -52,6 +54,7 @@ local variants = { pine = "#286983", foam = "#56949f", iris = "#907aa9", + leaf = "#6d8f89", highlight_low = "#f4ede8", highlight_med = "#dfdad9", highlight_high = "#cecacd", From 2f1733d36f7765d3f0bd99a9c4af482b8a9260eb Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Sun, 21 Jul 2024 17:12:11 -0400 Subject: [PATCH 32/82] feat: add support for icons in which-key.nvim (#291) * feat: add icon support for which-key.nvim * fix: incorrect color reference * feat: set WhichKeyIcon hl group to 'pine' by default Used when the colors option is set to false. --- lua/rose-pine.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 73712cd..afea3ea 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -529,6 +529,16 @@ local function set_highlights() WhichKeyDesc = { fg = palette.gold }, WhichKeyFloat = { bg = groups.panel }, WhichKeyGroup = { fg = palette.foam }, + WhichKeyIcon = { fg = palette.pine }, + WhichKeyIconAzure = { fg = palette.pine }, + WhichKeyIconBlue = { fg = palette.pine }, + WhichKeyIconCyan = { fg = palette.foam }, + WhichKeyIconGreen = { fg = palette.leaf }, + WhichKeyIconGrey = { fg = palette.subtle }, + WhichKeyIconOrange = { fg = palette.rose }, + WhichKeyIconPurple = { fg = palette.iris }, + WhichKeyIconRed = { fg = palette.love }, + WhichKeyIconYellow = { fg = palette.gold }, WhichKeyNormal = { link = "NormalFloat" }, WhichKeySeparator = { fg = palette.subtle }, WhichKeyTitle = make_border(palette.foam), From f2bf6e8d49ce1b1db22f8eb5798841f1f1ec8dca Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Sun, 21 Jul 2024 17:39:15 -0400 Subject: [PATCH 33/82] feat: add support for rainbow-delimiters.nvim (#292) --- lua/rose-pine.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index afea3ea..fed2dc5 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -908,6 +908,15 @@ local function set_highlights() IlluminatedWordRead = { link = "LspReferenceRead" }, IlluminatedWordText = { link = "LspReferenceText" }, IlluminatedWordWrite = { link = "LspReferenceWrite" }, + + -- HiPhish/rainbow-delimiters.nvim + RainbowDelimiterBlue = { fg = palette.pine }, + RainbowDelimiterCyan = { fg = palette.foam }, + RainbowDelimiterGreen = { fg = palette.leaf }, + RainbowDelimiterOrange = { fg = palette.rose }, + RainbowDelimiterRed = { fg = palette.love }, + RainbowDelimiterViolet = { fg = palette.iris }, + RainbowDelimiterYellow = { fg = palette.gold }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From afb46f9b66260542a256bd4c3c3a6bffb62d15a0 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Mon, 22 Jul 2024 00:06:14 -0400 Subject: [PATCH 34/82] fix: add missing highlight (#293) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index fed2dc5..6daf4b5 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -498,7 +498,7 @@ local function set_highlights() NeotestFailed = { fg = palette.love }, NeotestFile = { fg = palette.text }, NeotestFocused = { fg = palette.gold, bg = palette.highlight_med }, - NeotestIndent = { fg = "" }, + NeotestIndent = { fg = palette.highlight_med }, NeotestMarked = { fg = palette.rose, bold = styles.bold }, NeotestNamespace = { fg = palette.gold }, NeotestPassed = { fg = palette.pine }, From 3bbd8a865c03992ad2ae93aa1d7961ecb66e75e1 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Mon, 22 Jul 2024 01:23:59 -0400 Subject: [PATCH 35/82] fix: broken transparency for treesitter-context (#294) --- lua/rose-pine.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 6daf4b5..d2eb951 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -954,6 +954,9 @@ local function set_highlights() IblIndent = { fg = palette.overlay, bg = "NONE" }, IblScope = { fg = palette.foam, bg = "NONE" }, IblWhitespace = { fg = palette.overlay, bg = "NONE" }, + + TreesitterContext = { bg = "NONE" }, + TreesitterContextLineNumber = { fg = palette.rose, bg = "NONE" }, } if config.options.enable.legacy_highlights then From bf7ceb32fa4febef3efc80b54288e6257bd242e4 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Mon, 22 Jul 2024 11:17:13 -0400 Subject: [PATCH 36/82] chore: update mini-icons highlights to use appropriate colors (#295) --- lua/rose-pine.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index d2eb951..3399fe5 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -810,10 +810,10 @@ local function set_highlights() MiniIconsAzure = { fg = palette.foam }, MiniIconsBlue = { fg = palette.pine }, - MiniIconsCyan = { fg = palette.pine }, - MiniIconsGreen = { fg = palette.foam }, - MiniIconsGrey = { fg = palette.text }, - MiniIconsOrange = { fg = palette.gold }, + MiniIconsCyan = { fg = palette.foam }, + MiniIconsGreen = { fg = palette.leaf }, + MiniIconsGrey = { fg = palette.subtle }, + MiniIconsOrange = { fg = palette.rose }, MiniIconsPurple = { fg = palette.iris }, MiniIconsRed = { fg = palette.love }, MiniIconsYellow = { fg = palette.gold }, From 5929bc8683801aa9c74ff454fec91572b34de156 Mon Sep 17 00:00:00 2001 From: not Date: Mon, 22 Jul 2024 11:12:10 -0500 Subject: [PATCH 37/82] feat: improve float transparency (#298) --- lua/rose-pine.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 3399fe5..bf5ef79 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -99,7 +99,7 @@ local function set_highlights() -- EndOfBuffer = {}, ErrorMsg = { fg = groups.error, bold = styles.bold }, FloatBorder = make_border(), - FloatTitle = { link = "Directory" }, + FloatTitle = { fg = palette.foam, bg = groups.panel, bold = styles.bold }, FoldColumn = { fg = palette.muted }, Folded = { fg = palette.text, bg = groups.panel }, IncSearch = { link = "CurSearch" }, @@ -800,8 +800,8 @@ local function set_highlights() MiniFilesDirectory = { link = "Directory" }, MiniFilesFile = { fg = palette.text }, MiniFilesNormal = { link = "NormalFloat" }, - MiniFilesTitle = { bg = groups.panel, fg = palette.foam, bold = styles.bold }, - MiniFilesTitleFocused = { bg = groups.panel, fg = palette.rose, bold = styles.bold }, + MiniFilesTitle = { link = "FloatTitle" }, + MiniFilesTitleFocused = { fg = palette.rose, bg = groups.panel, bold = styles.bold }, MiniHipatternsFixme = { fg = palette.base, bg = groups.error, bold = styles.bold }, MiniHipatternsHack = { fg = palette.base, bg = groups.warn, bold = styles.bold }, @@ -926,6 +926,7 @@ local function set_highlights() DiagnosticVirtualTextWarn = { fg = groups.warn }, FloatBorder = { fg = palette.muted, bg = "NONE" }, + FloatTitle = { fg = palette.foam, bg = "NONE", bold = styles.bold }, Folded = { fg = palette.text, bg = "NONE" }, NormalFloat = { bg = "NONE" }, Normal = { fg = palette.text, bg = "NONE" }, @@ -957,6 +958,11 @@ local function set_highlights() TreesitterContext = { bg = "NONE" }, TreesitterContextLineNumber = { fg = palette.rose, bg = "NONE" }, + + MiniFilesTitleFocused = { fg = palette.rose, bg = "NONE", bold = styles.bold }, + + MiniPickPrompt = { bg = "NONE", bold = styles.bold }, + MiniPickBorderText = { bg = "NONE" }, } if config.options.enable.legacy_highlights then From 656f360dedfb543d7d23cc65269a69b18dfce527 Mon Sep 17 00:00:00 2001 From: not Date: Mon, 22 Jul 2024 16:07:45 -0500 Subject: [PATCH 38/82] feat: improve diff text (#297) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index bf5ef79..57c0eab 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -91,7 +91,7 @@ local function set_highlights() DiffAdd = { bg = groups.git_add, blend = 20 }, DiffChange = { bg = groups.git_change, blend = 20 }, DiffDelete = { bg = groups.git_delete, blend = 20 }, - DiffText = { bg = groups.git_text, blend = 20 }, + DiffText = { bg = groups.git_text, blend = 40 }, diffAdded = { link = "DiffAdd" }, diffChanged = { link = "DiffChange" }, diffRemoved = { link = "DiffDelete" }, From f7c01f07ee19562385e4915c3805e669db8d31a6 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Tue, 23 Jul 2024 17:56:40 -0400 Subject: [PATCH 39/82] fix: fzf-lua invisible selection (#299) * fix: invisible text in selection in fzf-lua * fix: correct bg color for FzfLuaNormal * fix: invisible text in selection in fzf-lua * fix: correct bg color for FzfLuaNormal * fix: change linking and add highlight for FzfLuaFilePart * fix: linking to 'FloatTitle' for WhichKeyTitle This works the same as the original fix, confirmed by testing against nvim 0.10.0 and nightly. Prefer linking over previous solution. --- lua/rose-pine.lua | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 57c0eab..a79d08b 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -541,7 +541,7 @@ local function set_highlights() WhichKeyIconYellow = { fg = palette.gold }, WhichKeyNormal = { link = "NormalFloat" }, WhichKeySeparator = { fg = palette.subtle }, - WhichKeyTitle = make_border(palette.foam), + WhichKeyTitle = { link = "FloatTitle" }, WhichKeyValue = { fg = palette.rose }, -- lukas-reineke/indent-blankline.nvim @@ -667,13 +667,15 @@ local function set_highlights() TelescopeTitle = { fg = palette.foam, bold = styles.bold }, -- ibhagwan/fzf-lua - FzfLuaNormal = { link = "NormalFloat" }, - FzfLuaTitle = { fg = palette.foam, bold = styles.bold }, FzfLuaBorder = make_border(), - FzfLuaHeaderText = { fg = palette.love }, - FzfLuaHeaderBind = { fg = palette.rose }, - FzfLuaBufFlagCur = { fg = palette.subtle }, FzfLuaBufFlagAlt = { fg = palette.subtle }, + FzfLuaBufFlagCur = { fg = palette.subtle }, + FzfLuaCursorLine = { fg = palette.text, bg = palette.overlay }, + FzfLuaFilePart = { fg = palette.text }, + FzfLuaHeaderBind = { fg = palette.rose }, + FzfLuaHeaderText = { fg = palette.love }, + FzfLuaNormal = { link = "NormalFloat" }, + FzfLuaTitle = { link = "FloatTitle" }, -- rcarriga/nvim-notify NotifyDEBUGBorder = make_border(), From 535240c84679690953b0ef19bc9ad5a625266ddd Mon Sep 17 00:00:00 2001 From: not Date: Tue, 23 Jul 2024 19:17:59 -0500 Subject: [PATCH 40/82] feat: highlight neotree tabs (#300) Fixes #263 --- lua/rose-pine.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index a79d08b..3528227 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -518,6 +518,10 @@ local function set_highlights() NeoTreeGitModified = { fg = groups.git_dirty }, NeoTreeGitRenamed = { fg = groups.git_rename }, NeoTreeGitUntracked = { fg = groups.git_untracked }, + NeoTreeTabActive = { fg = palette.text, bg = palette.overlay }, + NeoTreeTabInactive = { fg = palette.subtle }, + NeoTreeTabSeparatorActive = { link = "WinSeparator" }, + NeoTreeTabSeparatorInactive = { link = "WinSeparator" }, NeoTreeTitleBar = { link = "StatusLineTerm" }, -- folke/flash.nvim From d6112a7c5632232f6057deebd13dcf912810ca83 Mon Sep 17 00:00:00 2001 From: not Date: Tue, 23 Jul 2024 21:51:43 -0500 Subject: [PATCH 41/82] fix(transparency): lualine separator (#301) Fixes #288 --- lua/lualine/themes/rose-pine.lua | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 4c2c9a6..96d6b92 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,40 +1,34 @@ local p = require("rose-pine.palette") -local config = require("rose-pine.config") - -local bg_base = p.base -if config.options.styles.transparency then - bg_base = "NONE" -end return { normal = { a = { bg = p.rose, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.rose }, - c = { bg = bg_base, fg = p.text }, + c = { bg = p.base, fg = p.text }, }, insert = { a = { bg = p.foam, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.foam }, - c = { bg = bg_base, fg = p.text }, + c = { bg = p.base, fg = p.text }, }, visual = { a = { bg = p.iris, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.iris }, - c = { bg = bg_base, fg = p.text }, + c = { bg = p.base, fg = p.text }, }, replace = { a = { bg = p.pine, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.pine }, - c = { bg = bg_base, fg = p.text }, + c = { bg = p.base, fg = p.text }, }, command = { a = { bg = p.love, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.love }, - c = { bg = bg_base, fg = p.text }, + c = { bg = p.base, fg = p.text }, }, inactive = { - a = { bg = bg_base, fg = p.muted, gui = "bold" }, - b = { bg = bg_base, fg = p.muted }, - c = { bg = bg_base, fg = p.muted }, + a = { bg = p.base, fg = p.muted, gui = "bold" }, + b = { bg = p.base, fg = p.muted }, + c = { bg = p.base, fg = p.muted }, }, } From 8b1a2e73d28f331bc9ecdf5dd84242a6a8d235b7 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Wed, 24 Jul 2024 17:29:39 -0400 Subject: [PATCH 42/82] feat: add support for markdown.nvim (#303) * feat: add support for markdown.nvim * fix: tweaked some highlights to achieve better appearance * fix: adjust heading highlights to use group linking --- lua/rose-pine.lua | 22 ++++++++++++++++++++-- lua/rose-pine/config.lua | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 3528227..e356688 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -363,7 +363,7 @@ local function set_highlights() ["@markup.heading"] = { fg = palette.foam, bold = styles.bold }, - ["@markup.quote"] = { fg = palette.subtle }, + ["@markup.quote"] = { fg = palette.text }, ["@markup.math"] = { link = "Special" }, ["@markup.environment"] = { link = "Macro" }, ["@markup.environment.name"] = { link = "@type" }, @@ -377,7 +377,7 @@ local function set_highlights() -- ["@markup.raw.block"] = { bg = palette.surface }, ["@markup.raw.delimiter.markdown"] = { fg = palette.subtle }, - ["@markup.list"] = { fg = palette.text }, + ["@markup.list"] = { fg = palette.pine }, ["@markup.list.checked"] = { fg = palette.foam, bg = palette.foam, blend = 10 }, ["@markup.list.unchecked"] = { fg = palette.text }, @@ -923,6 +923,24 @@ local function set_highlights() RainbowDelimiterRed = { fg = palette.love }, RainbowDelimiterViolet = { fg = palette.iris }, RainbowDelimiterYellow = { fg = palette.gold }, + + -- MeanderingProgrammer/markdown.nvim + RenderMarkdownBullet = { fg = palette.rose }, + RenderMarkdownChecked = { fg = palette.foam }, + RenderMarkdownCode = { bg = palette.overlay }, + RenderMarkdownCodeInline = { fg = palette.text, bg = palette.overlay }, + RenderMarkdownDash = { fg = palette.muted }, + RenderMarkdownH1Bg = { bg = groups.h1, blend = 20 }, + RenderMarkdownH2Bg = { bg = groups.h2, blend = 20 }, + RenderMarkdownH3Bg = { bg = groups.h3, blend = 20 }, + RenderMarkdownH4Bg = { bg = groups.h4, blend = 20 }, + RenderMarkdownH5Bg = { bg = groups.h5, blend = 20 }, + RenderMarkdownH6Bg = { bg = groups.h6, blend = 20 }, + RenderMarkdownQuote = { fg = palette.subtle }, + RenderMarkdownTableFill = { link = "Conceal" }, + RenderMarkdownTableHead = { fg = palette.subtle }, + RenderMarkdownTableRow = { fg = palette.subtle }, + RenderMarkdownUnchecked = { fg = palette.subtle }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index cdbec69..eb05330 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -66,7 +66,7 @@ config.options = { h3 = "rose", h4 = "gold", h5 = "pine", - h6 = "foam", + h6 = "leaf", ---@deprecated Replaced by `options.highlight_groups["Normal"]` -- background = "base", From c14da532fae30f089ea6d47fcfe64b0ed1b9bd80 Mon Sep 17 00:00:00 2001 From: Shaun Clayton Date: Thu, 25 Jul 2024 17:47:21 -0400 Subject: [PATCH 43/82] feat: add support for grug-far.nvim (#304) * feat: add support for grug-far.nvim * fix: change link for results match to `CurSearch` Co-authored-by: not * fix: add highlights for line numbers --------- Co-authored-by: not --- lua/rose-pine.lua | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index e356688..471e57e 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -126,7 +126,7 @@ local function set_highlights() RedrawDebugClear = { fg = palette.base, bg = palette.gold }, RedrawDebugComposed = { fg = palette.base, bg = palette.pine }, RedrawDebugRecompose = { fg = palette.base, bg = palette.love }, - Search = { fg = palette.base, bg = palette.text }, + Search = { fg = palette.base, bg = palette.rose }, SignColumn = { fg = palette.text, bg = "NONE" }, SpecialKey = { fg = palette.foam }, SpellBad = { sp = palette.subtle, undercurl = true }, @@ -941,6 +941,24 @@ local function set_highlights() RenderMarkdownTableHead = { fg = palette.subtle }, RenderMarkdownTableRow = { fg = palette.subtle }, RenderMarkdownUnchecked = { fg = palette.subtle }, + + -- MagicDuck/grug-far.nvim + GrugFarHelpHeader = { fg = palette.pine }, + GrugFarHelpHeaderKey = { fg = palette.gold }, + GrugFarHelpWinActionKey = { fg = palette.gold }, + GrugFarHelpWinActionPrefix = { fg = palette.foam }, + GrugFarHelpWinActionText = { fg = palette.pine }, + GrugFarHelpWinHeader = { link = "FloatTitle" }, + GrugFarInputLabel = { fg = palette.foam }, + GrugFarInputPlaceholder = { link = "Comment" }, + GrugFarResultsActionMessage = { fg = palette.foam }, + GrugFarResultsChangeIndicator = { fg = groups.git_change }, + GrugFarResultsHeader = { fg = palette.pine }, + GrugFarResultsLineNo = { fg = palette.iris }, + GrugFarResultsLineColumn = { link = "GrugFarResultsLineNo" }, + GrugFarResultsMatch = { link = "CurSearch" }, + GrugFarResultsPath = { fg = palette.foam }, + GrugFarResultsStats = { fg = palette.iris }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 7f0b8c4c7f08ed24aeca9a3392f347964b7772dd Mon Sep 17 00:00:00 2001 From: Vlad <52591095+MeanderingProgrammer@users.noreply.github.com> Date: Mon, 5 Aug 2024 13:59:59 -0700 Subject: [PATCH 44/82] chore: markdown.nvim renamed to render-markdown.nvim (#309) Reference to change: https://github.com/MeanderingProgrammer/render-markdown.nvim/commit/aeb5cec617c3bd5738ab82ba2c3f9ccdc27656c2 --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 471e57e..1573fa6 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -924,7 +924,7 @@ local function set_highlights() RainbowDelimiterViolet = { fg = palette.iris }, RainbowDelimiterYellow = { fg = palette.gold }, - -- MeanderingProgrammer/markdown.nvim + -- MeanderingProgrammer/render-markdown.nvim RenderMarkdownBullet = { fg = palette.rose }, RenderMarkdownChecked = { fg = palette.foam }, RenderMarkdownCode = { bg = palette.overlay }, From d97cc7fcd772c203fec60bfcc49ebbec470d3cb0 Mon Sep 17 00:00:00 2001 From: Allan Deutsch Date: Mon, 12 Aug 2024 16:59:44 -0400 Subject: [PATCH 45/82] fix: nvim-notify background (#308) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 1573fa6..3115710 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -697,7 +697,7 @@ local function set_highlights() NotifyWARNBorder = make_border(groups.warn), NotifyWARNIcon = { link = "NotifyWARNTitle" }, NotifyWARNTitle = { fg = groups.warn }, - + NotifyBackground = { bg = palette.surface }, -- rcarriga/nvim-dap-ui DapUIBreakpointsCurrentLine = { fg = palette.gold, bold = styles.bold }, DapUIBreakpointsDisabledLine = { fg = palette.muted }, From 94ffdb774815f9d8b1b00425375b6996ec131beb Mon Sep 17 00:00:00 2001 From: jostaub <67969701+jostaub@users.noreply.github.com> Date: Wed, 14 Aug 2024 20:40:33 +0200 Subject: [PATCH 46/82] feat: palette overrides (#307) * feat: palette overrides * removed option all from palett override * removed dead code forgotten in last commit * fix typo in readme and simplified comment Co-authored-by: not --------- Co-authored-by: not --- lua/rose-pine/config.lua | 3 +++ lua/rose-pine/palette.lua | 9 +++++++++ readme.md | 8 ++++++++ 3 files changed, 20 insertions(+) diff --git a/lua/rose-pine/config.lua b/lua/rose-pine/config.lua index eb05330..bbc9967 100644 --- a/lua/rose-pine/config.lua +++ b/lua/rose-pine/config.lua @@ -35,6 +35,9 @@ config.options = { transparency = false, }, + ---@type table> + palette = {}, + ---@type table groups = { border = "muted", diff --git a/lua/rose-pine/palette.lua b/lua/rose-pine/palette.lua index ffa5f81..59c300c 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -62,6 +62,15 @@ local variants = { }, } +if options.palette ~= nil and next(options.palette) then + -- handle variant specific overrides + for variant_name, override_palette in pairs(options.palette) do + if variants[variant_name] then + variants[variant_name] = vim.tbl_extend("force", variants[variant_name], override_palette or {}) + end + end +end + if variants[options.variant] ~= nil then return variants[options.variant] end diff --git a/readme.md b/readme.md index 7c1ac9b..febb363 100644 --- a/readme.md +++ b/readme.md @@ -100,6 +100,14 @@ require("rose-pine").setup({ h6 = "foam", }, + pallete = { + -- Override the builtin palette per variant + -- moon = { + -- base = '#18191a', + -- overlay = '#363738', + -- }, + }, + highlight_groups = { -- Comment = { fg = "foam" }, -- VertSplit = { fg = "muted", bg = "muted" }, From fe9e661cdac2e8f42b20411555dd0d47b5d54691 Mon Sep 17 00:00:00 2001 From: Aaron Pham Date: Sun, 25 Aug 2024 13:20:43 -0400 Subject: [PATCH 47/82] feat(plugins): add support for avante.nvim (#315) --- lua/rose-pine.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 3115710..0706a74 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -959,6 +959,14 @@ local function set_highlights() GrugFarResultsMatch = { link = "CurSearch" }, GrugFarResultsPath = { fg = palette.foam }, GrugFarResultsStats = { fg = palette.iris }, + + -- yetone/avante.nvim + AvanteTitle = { fg = pallete.highlight_high, bg = pallete.rose }, + AvanteReversedTitle = { fg = pallete.rose }, + AvanteSubtitle = { fg = pallete.highlight_med, bg = pallete.foam }, + AvanteReversedSubtitle = { fg = pallete.foam }, + AvanteThirdTitle = { fg = pallete.highlight_med, bg = pallete.iris }, + AvanteReversedThirdTitle = { fg = pallete.iris }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 33a1ba312628da66dad067636d292166faa94c61 Mon Sep 17 00:00:00 2001 From: dav-cho <78996780+dav-cho@users.noreply.github.com> Date: Sun, 25 Aug 2024 13:35:29 -0400 Subject: [PATCH 48/82] fix: wrong spelling for palette (#316) --- lua/rose-pine.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 0706a74..6f3adfe 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -961,12 +961,12 @@ local function set_highlights() GrugFarResultsStats = { fg = palette.iris }, -- yetone/avante.nvim - AvanteTitle = { fg = pallete.highlight_high, bg = pallete.rose }, - AvanteReversedTitle = { fg = pallete.rose }, - AvanteSubtitle = { fg = pallete.highlight_med, bg = pallete.foam }, - AvanteReversedSubtitle = { fg = pallete.foam }, - AvanteThirdTitle = { fg = pallete.highlight_med, bg = pallete.iris }, - AvanteReversedThirdTitle = { fg = pallete.iris }, + AvanteTitle = { fg = palette.highlight_high, bg = palette.rose }, + AvanteReversedTitle = { fg = palette.rose }, + AvanteSubtitle = { fg = palette.highlight_med, bg = palette.foam }, + AvanteReversedSubtitle = { fg = palette.foam }, + AvanteThirdTitle = { fg = palette.highlight_med, bg = palette.iris }, + AvanteReversedThirdTitle = { fg = palette.iris }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 22f873c7db1afc5b9400190bb3937a4d852df692 Mon Sep 17 00:00:00 2001 From: not Date: Sun, 25 Aug 2024 12:37:07 -0500 Subject: [PATCH 49/82] fix: palette typo (#317) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index febb363..5247dbd 100644 --- a/readme.md +++ b/readme.md @@ -100,7 +100,7 @@ require("rose-pine").setup({ h6 = "foam", }, - pallete = { + palette = { -- Override the builtin palette per variant -- moon = { -- base = '#18191a', From 2f44ef189f80c319f750e3190f63338cb328c532 Mon Sep 17 00:00:00 2001 From: not Date: Sun, 25 Aug 2024 12:41:35 -0500 Subject: [PATCH 50/82] feat: use neutral colours for search (#318) --- lua/rose-pine.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 6f3adfe..cbd74b6 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -80,7 +80,7 @@ local function set_highlights() local default_highlights = { ColorColumn = { bg = palette.surface }, Conceal = { bg = "NONE" }, - CurSearch = { fg = palette.base, bg = palette.gold }, + CurSearch = { fg = palette.base, bg = palette.text }, Cursor = { fg = palette.text, bg = palette.highlight_high }, CursorColumn = { bg = palette.overlay }, -- CursorIM = {}, @@ -126,7 +126,7 @@ local function set_highlights() RedrawDebugClear = { fg = palette.base, bg = palette.gold }, RedrawDebugComposed = { fg = palette.base, bg = palette.pine }, RedrawDebugRecompose = { fg = palette.base, bg = palette.love }, - Search = { fg = palette.base, bg = palette.rose }, + Search = { fg = palette.text, bg = palette.text, blend = 20 }, SignColumn = { fg = palette.text, bg = "NONE" }, SpecialKey = { fg = palette.foam }, SpellBad = { sp = palette.subtle, undercurl = true }, From 8869e546d4873b874bc35d20e287b1775584ad71 Mon Sep 17 00:00:00 2001 From: not Date: Sun, 25 Aug 2024 13:09:15 -0500 Subject: [PATCH 51/82] feat(transparency): support trouble.nvim (#319) --- lua/rose-pine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index cbd74b6..67e52c0 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -999,6 +999,8 @@ local function set_highlights() TelescopeSelection = { fg = palette.text, bg = "NONE", bold = styles.bold }, TelescopeSelectionCaret = { fg = palette.rose }, + TroubleNormal = { bg = "NONE" }, + WhichKeyFloat = { bg = "NONE" }, WhichKeyNormal = { bg = "NONE" }, From 1ebe0a5171c8be76bf62c87fc688d110ab444d42 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 8 Oct 2024 10:22:29 -0500 Subject: [PATCH 52/82] feat: use gold for search Closes #305 --- lua/rose-pine.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 67e52c0..65020f9 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -80,7 +80,7 @@ local function set_highlights() local default_highlights = { ColorColumn = { bg = palette.surface }, Conceal = { bg = "NONE" }, - CurSearch = { fg = palette.base, bg = palette.text }, + CurSearch = { fg = palette.base, bg = palette.gold }, Cursor = { fg = palette.text, bg = palette.highlight_high }, CursorColumn = { bg = palette.overlay }, -- CursorIM = {}, @@ -126,7 +126,7 @@ local function set_highlights() RedrawDebugClear = { fg = palette.base, bg = palette.gold }, RedrawDebugComposed = { fg = palette.base, bg = palette.pine }, RedrawDebugRecompose = { fg = palette.base, bg = palette.love }, - Search = { fg = palette.text, bg = palette.text, blend = 20 }, + Search = { fg = palette.text, bg = palette.gold, blend = 20 }, SignColumn = { fg = palette.text, bg = "NONE" }, SpecialKey = { fg = palette.foam }, SpellBad = { sp = palette.subtle, undercurl = true }, From 5e7bf83782429fde7f59ba1c98702fdaa77be613 Mon Sep 17 00:00:00 2001 From: Anupam Basu Date: Wed, 23 Oct 2024 17:59:08 -0500 Subject: [PATCH 53/82] feat: add highlight support for epwalsh/obsidian.nvim (#323) --------- Co-authored-by: mvllow --- lua/rose-pine/plugins/obsidian.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lua/rose-pine/plugins/obsidian.lua diff --git a/lua/rose-pine/plugins/obsidian.lua b/lua/rose-pine/plugins/obsidian.lua new file mode 100644 index 0000000..43cc3b3 --- /dev/null +++ b/lua/rose-pine/plugins/obsidian.lua @@ -0,0 +1,14 @@ +--- Rosé Pine for Obsidian(epwalsh) +--- https://github.com/epwalsh/obsidian.nvim +--- +--- @usage +--- local highlights = require("rose-pine.plugins.obsidian") +--- require("obsidian").setup({ ui = {hl_groups = highlights} }) + +local p = require("rose-pine.palette") + +return { + ObsidianBullet = { fg = p.muted }, + ObsidianRefText = { underline = true, fg = p.iris }, + ObsidianDone = { bold = true, fg = p.foam } +} From a449bb2599bfe04aa134bc049c6cd5bb0d139ea2 Mon Sep 17 00:00:00 2001 From: Metin Yalcinkaya Date: Wed, 11 Dec 2024 02:39:28 +1100 Subject: [PATCH 54/82] feat: added highlight support for Saghen/blink.cmp (#329) Closes #326 --- lua/rose-pine.lua | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 65020f9..39da9bc 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -967,6 +967,46 @@ local function set_highlights() AvanteReversedSubtitle = { fg = palette.foam }, AvanteThirdTitle = { fg = palette.highlight_med, bg = palette.iris }, AvanteReversedThirdTitle = { fg = palette.iris }, + + -- Saghen/blink.cmp + BlinkCmpDoc = { fg = palette.text }, + BlinkCmpDocBorder = { fg = palette.highlight_high }, + BlinkCmpGhostText = { fg = palette.muted }, + + BlinkCmpLabel = { fg = palette.muted }, + BlinkCmpLabelDeprecated = { fg = palette.muted, strikethrough = true }, + BlinkCmpLabelMatch = { fg = palette.text, bold = styles.bold }, + + BlinkCmpDefault = { fg = palette.highlight_med }, + BlinkCmpKindText = { fg = palette.pine }, + BlinkCmpKindMethod = { fg = palette.foam }, + BlinkCmpKindFunction = { fg = palette.foam }, + BlinkCmpKindConstructor = { fg = palette.foam }, + BlinkCmpKindField = { fg = palette.pine }, + BlinkCmpKindVariable = { fg = palette.rose }, + BlinkCmpKindClass = { fg = palette.gold }, + BlinkCmpKindInterface = { fg = palette.gold }, + BlinkCmpKindModule = { fg = palette.foam }, + BlinkCmpKindProperty = { fg = palette.foam }, + BlinkCmpKindUnit = { fg = palette.pine }, + BlinkCmpKindValue = { fg = palette.love }, + BlinkCmpKindKeyword = { fg = palette.iris }, + BlinkCmpKindSnippet = { fg = palette.rose }, + BlinkCmpKindColor = { fg = palette.love }, + BlinkCmpKindFile = { fg = palette.foam }, + BlinkCmpKindReference = { fg = palette.love }, + BlinkCmpKindFolder = { fg = palette.foam }, + BlinkCmpKindEnum = { fg = palette.foam }, + BlinkCmpKindEnumMember = { fg = palette.foam }, + BlinkCmpKindConstant = { fg = palette.gold }, + BlinkCmpKindStruct = { fg = palette.foam }, + BlinkCmpKindEvent = { fg = palette.foam }, + BlinkCmpKindOperator = { fg = palette.foam }, + BlinkCmpKindTypeParameter = { fg = palette.iris }, + BlinkCmpKindCodeium = { fg = palette.foam }, + BlinkCmpKindCopilot = { fg = palette.foam }, + BlinkCmpKindSupermaven = { fg = palette.foam }, + BlinkCmpKindTabNine = { fg = palette.foam }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 36526815ee308979b1cd703bba2033a88c2db1f5 Mon Sep 17 00:00:00 2001 From: YarLama <52606645+YarLama@users.noreply.github.com> Date: Tue, 10 Dec 2024 18:50:19 +0300 Subject: [PATCH 55/82] Update readme.md (#328) * Update readme.md Extended description for Structured Setup lazy.nvim * Update readme.md --------- Co-authored-by: mvllow --- readme.md | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 5247dbd..8a2740c 100644 --- a/readme.md +++ b/readme.md @@ -13,15 +13,30 @@ ## Getting started -Install `rose-pine/neovim` using your favourite plugin manager: +Install `rose-pine/neovim` using your favourite package manager: -**paq-nvim** +### [pam.nvim](https://github.com/mvllow/pam.nvim) ```lua -{ "rose-pine/neovim", as = "rose-pine" } +{ source = "rose-pine/neovim", as = "rose-pine" } ``` -**lazy.nvim** +### [lazy.nvim](https://lazy.folke.io/installation) + +**Structured Setup** + +```lua +-- lua/plugins/rose-pine.lua +return { + "rose-pine/neovim", + name = "rose-pine", + config = function() + vim.cmd("colorscheme rose-pine") + end +} +``` + +**Single file** ```lua { "rose-pine/neovim", name = "rose-pine" } From fc418a716fa1808153da4bd53606f5524328f861 Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 7 Jan 2025 09:47:00 -0600 Subject: [PATCH 56/82] fix: lualine transparency Fixes #333 --- lua/lualine/themes/rose-pine-alt.lua | 12 +++++++++--- lua/lualine/themes/rose-pine.lua | 22 ++++++++++++++-------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lua/lualine/themes/rose-pine-alt.lua b/lua/lualine/themes/rose-pine-alt.lua index 05d8af7..287144f 100644 --- a/lua/lualine/themes/rose-pine-alt.lua +++ b/lua/lualine/themes/rose-pine-alt.lua @@ -1,4 +1,10 @@ local p = require("rose-pine.palette") +local config = require("rose-pine.config") + +local bg_base = p.base +if config.options.styles.transparency then + bg_base = "NONE" +end return { normal = { @@ -19,8 +25,8 @@ return { 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" }, + a = { bg = bg_base, fg = p.subtle, gui = "bold" }, + b = { bg = bg_base, fg = p.subtle }, + c = { bg = bg_base, fg = p.subtle, gui = "italic" }, }, } diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 96d6b92..4c2c9a6 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,34 +1,40 @@ local p = require("rose-pine.palette") +local config = require("rose-pine.config") + +local bg_base = p.base +if config.options.styles.transparency then + bg_base = "NONE" +end return { normal = { a = { bg = p.rose, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.rose }, - c = { bg = p.base, fg = p.text }, + c = { bg = bg_base, fg = p.text }, }, insert = { a = { bg = p.foam, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.foam }, - c = { bg = p.base, fg = p.text }, + c = { bg = bg_base, fg = p.text }, }, visual = { a = { bg = p.iris, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.iris }, - c = { bg = p.base, fg = p.text }, + c = { bg = bg_base, fg = p.text }, }, replace = { a = { bg = p.pine, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.pine }, - c = { bg = p.base, fg = p.text }, + c = { bg = bg_base, fg = p.text }, }, command = { a = { bg = p.love, fg = p.base, gui = "bold" }, b = { bg = p.overlay, fg = p.love }, - c = { bg = p.base, fg = p.text }, + c = { bg = bg_base, fg = p.text }, }, inactive = { - a = { bg = p.base, fg = p.muted, gui = "bold" }, - b = { bg = p.base, fg = p.muted }, - c = { bg = p.base, fg = p.muted }, + a = { bg = bg_base, fg = p.muted, gui = "bold" }, + b = { bg = bg_base, fg = p.muted }, + c = { bg = bg_base, fg = p.muted }, }, } From c306f1315841038defc10c90f79d0dc9aec2d60f Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 8 Jan 2025 09:09:59 -0600 Subject: [PATCH 57/82] feat: use blended iris for visual Fixes #277 --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 39da9bc..8c1f782 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -143,7 +143,7 @@ local function set_highlights() TabLineSel = { fg = palette.text, bg = palette.overlay, bold = styles.bold }, Title = { fg = palette.foam, bold = styles.bold }, VertSplit = { fg = groups.border }, - Visual = { bg = palette.highlight_med }, + Visual = { bg = palette.iris, blend = 15 }, -- VisualNOS = {}, WarningMsg = { fg = groups.warn, bold = styles.bold }, -- Whitespace = {}, From 463742691b259aa63aa6cb0e23fb89eb1aef2667 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 8 Jan 2025 09:37:09 -0600 Subject: [PATCH 58/82] feat: add `Notify*Body` highlights Fixes #331 --- lua/rose-pine.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 8c1f782..a8e297d 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -682,22 +682,28 @@ local function set_highlights() FzfLuaTitle = { link = "FloatTitle" }, -- rcarriga/nvim-notify + NotifyBackground = { link = "NormalFloat" }, + NotifyDEBUGBody = { link = 'NormalFloat' }, NotifyDEBUGBorder = make_border(), NotifyDEBUGIcon = { link = "NotifyDEBUGTitle" }, NotifyDEBUGTitle = { fg = palette.muted }, + NotifyERRORBody = { link = 'NormalFloat' }, NotifyERRORBorder = make_border(groups.error), NotifyERRORIcon = { link = "NotifyERRORTitle" }, NotifyERRORTitle = { fg = groups.error }, + NotifyINFOBody = { link = 'NormalFloat' }, NotifyINFOBorder = make_border(groups.info), NotifyINFOIcon = { link = "NotifyINFOTitle" }, NotifyINFOTitle = { fg = groups.info }, + NotifyTRACEBody = { link = 'NormalFloat' }, NotifyTRACEBorder = make_border(palette.iris), NotifyTRACEIcon = { link = "NotifyTRACETitle" }, NotifyTRACETitle = { fg = palette.iris }, + NotifyWARNBody = { link = 'NormalFloat' }, NotifyWARNBorder = make_border(groups.warn), NotifyWARNIcon = { link = "NotifyWARNTitle" }, NotifyWARNTitle = { fg = groups.warn }, - NotifyBackground = { bg = palette.surface }, + -- rcarriga/nvim-dap-ui DapUIBreakpointsCurrentLine = { fg = palette.gold, bold = styles.bold }, DapUIBreakpointsDisabledLine = { fg = palette.muted }, From 40f03c4df10023a5532e204e5aa0dc95067d7f05 Mon Sep 17 00:00:00 2001 From: Federico Minaya Date: Tue, 14 Jan 2025 18:20:19 -0300 Subject: [PATCH 59/82] feat: add snacks indent highlights (#334) --- lua/rose-pine.lua | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index a8e297d..2bf1aa2 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -683,23 +683,23 @@ local function set_highlights() -- rcarriga/nvim-notify NotifyBackground = { link = "NormalFloat" }, - NotifyDEBUGBody = { link = 'NormalFloat' }, + NotifyDEBUGBody = { link = "NormalFloat" }, NotifyDEBUGBorder = make_border(), NotifyDEBUGIcon = { link = "NotifyDEBUGTitle" }, NotifyDEBUGTitle = { fg = palette.muted }, - NotifyERRORBody = { link = 'NormalFloat' }, + NotifyERRORBody = { link = "NormalFloat" }, NotifyERRORBorder = make_border(groups.error), NotifyERRORIcon = { link = "NotifyERRORTitle" }, NotifyERRORTitle = { fg = groups.error }, - NotifyINFOBody = { link = 'NormalFloat' }, + NotifyINFOBody = { link = "NormalFloat" }, NotifyINFOBorder = make_border(groups.info), NotifyINFOIcon = { link = "NotifyINFOTitle" }, NotifyINFOTitle = { fg = groups.info }, - NotifyTRACEBody = { link = 'NormalFloat' }, + NotifyTRACEBody = { link = "NormalFloat" }, NotifyTRACEBorder = make_border(palette.iris), NotifyTRACEIcon = { link = "NotifyTRACETitle" }, NotifyTRACETitle = { fg = palette.iris }, - NotifyWARNBody = { link = 'NormalFloat' }, + NotifyWARNBody = { link = "NormalFloat" }, NotifyWARNBorder = make_border(groups.warn), NotifyWARNIcon = { link = "NotifyWARNTitle" }, NotifyWARNTitle = { fg = groups.warn }, @@ -1013,6 +1013,12 @@ local function set_highlights() BlinkCmpKindCopilot = { fg = palette.foam }, BlinkCmpKindSupermaven = { fg = palette.foam }, BlinkCmpKindTabNine = { fg = palette.foam }, + + -- folke/snacks.nvim + SnacksIndent = { fg = palette.overlay }, + SnacksIndentChunk = { fg = palette.overlay }, + SnacksIndentBlank = { fg = palette.overlay }, + SnacksIndentScope = { fg = palette.foam }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 6b511539052e40b91f94f92a745f459e1a965af1 Mon Sep 17 00:00:00 2001 From: Patrick Haun Date: Wed, 15 Jan 2025 21:28:37 +0100 Subject: [PATCH 60/82] More obvious match highlight in snacks.picker (#335) --- lua/rose-pine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 2bf1aa2..5f4bf54 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -1019,6 +1019,8 @@ local function set_highlights() SnacksIndentChunk = { fg = palette.overlay }, SnacksIndentBlank = { fg = palette.overlay }, SnacksIndentScope = { fg = palette.foam }, + + SnacksPickerMatch = { fg = palette.rose, bold = styles.bold }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From ffd5b6994859ee2affe723b082b0e479ca95a5bf Mon Sep 17 00:00:00 2001 From: aileot <46470475+aileot@users.noreply.github.com> Date: Mon, 3 Feb 2025 06:09:20 +0900 Subject: [PATCH 61/82] refactor(gitsigns): avoid redundant links (#336) The `SignAdd`, `SignChange`, and `SignDelete` are never referenced by any other highlight definitions than the previous `GitSigns` ones before this change. The isolated definitions are only left for backward compatibility. --- lua/rose-pine.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 5f4bf54..81bfd4f 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -451,9 +451,9 @@ local function set_highlights() BufferVisibleTarget = { fg = palette.gold }, -- lewis6991/gitsigns.nvim - GitSignsAdd = { link = "SignAdd" }, - GitSignsChange = { link = "SignChange" }, - GitSignsDelete = { link = "SignDelete" }, + GitSignsAdd = { fg = groups.git_add, bg = "NONE" }, + GitSignsChange = { fg = groups.git_change, bg = "NONE" }, + GitSignsDelete = { fg = groups.git_delete, bg = "NONE" }, SignAdd = { fg = groups.git_add, bg = "NONE" }, SignChange = { fg = groups.git_change, bg = "NONE" }, SignDelete = { fg = groups.git_delete, bg = "NONE" }, From 2b88dfb054e31cd5532c05c796aec2f0a8f04469 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 3 Feb 2025 11:05:20 -0600 Subject: [PATCH 62/82] refactor: update documentation --- lua/rose-pine.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 81bfd4f..660759a 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -271,7 +271,8 @@ local function set_highlights() mkdRule = { fg = palette.subtle }, mkdURL = { link = "markdownUrl" }, - --- Identifiers + --- Treesitter + --- |:help treesitter-highlight-groups| ["@variable"] = { fg = palette.text, italic = styles.italic }, ["@variable.builtin"] = { fg = palette.love, bold = styles.bold }, ["@variable.parameter"] = { fg = palette.iris, italic = styles.italic }, @@ -285,7 +286,6 @@ local function set_highlights() ["@module.builtin"] = { fg = palette.text, bold = styles.bold }, ["@label"] = { link = "Label" }, - --- Literals ["@string"] = { link = "String" }, -- ["@string.documentation"] = {}, ["@string.regexp"] = { fg = palette.iris }, @@ -303,27 +303,24 @@ local function set_highlights() ["@number.float"] = { link = "Number" }, ["@float"] = { link = "Number" }, - --- Types ["@type"] = { fg = palette.foam }, ["@type.builtin"] = { fg = palette.foam, bold = styles.bold }, -- ["@type.definition"] = {}, - -- ["@type.qualifier"] = {}, -- ["@attribute"] = {}, ["@property"] = { fg = palette.foam, italic = styles.italic }, - --- Functions ["@function"] = { fg = palette.rose }, ["@function.builtin"] = { fg = palette.rose, bold = styles.bold }, -- ["@function.call"] = {}, ["@function.macro"] = { link = "Function" }, + ["@function.method"] = { fg = palette.rose }, ["@function.method.call"] = { fg = palette.iris }, ["@constructor"] = { fg = palette.foam }, ["@operator"] = { link = "Operator" }, - --- Keywords ["@keyword"] = { link = "Keyword" }, -- ["@keyword.coroutine"] = {}, -- ["@keyword.function"] = {}, @@ -334,8 +331,10 @@ local function set_highlights() ["@keyword.return"] = { fg = palette.pine }, ["@keyword.debug"] = { fg = palette.rose }, ["@keyword.exception"] = { fg = palette.pine }, + ["@keyword.conditional"] = { fg = palette.pine }, ["@keyword.conditional.ternary"] = { fg = palette.pine }, + ["@keyword.directive"] = { fg = palette.iris }, ["@keyword.directive.define"] = { fg = palette.iris }, From 8db12177048b7af3deb99a5e6c62a43bb23d08f8 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 3 Feb 2025 11:05:44 -0600 Subject: [PATCH 63/82] feat: use consistent variable styles --- lua/rose-pine.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 660759a..054be1c 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -274,8 +274,9 @@ local function set_highlights() --- Treesitter --- |:help treesitter-highlight-groups| ["@variable"] = { fg = palette.text, italic = styles.italic }, - ["@variable.builtin"] = { fg = palette.love, bold = styles.bold }, + ["@variable.builtin"] = { fg = palette.love, italic = styles.italic, bold = styles.bold }, ["@variable.parameter"] = { fg = palette.iris, italic = styles.italic }, + ["@variable.parameter.builtin"] = { fg = palette.iris, italic = styles.italic, bold = styles.bold }, ["@variable.member"] = { fg = palette.foam }, ["@constant"] = { fg = palette.gold }, From 0ca4bfbc6f5904f8b18714fbe4f31a6bc59a3b87 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 3 Feb 2025 11:05:57 -0600 Subject: [PATCH 64/82] feat: set attribute style --- lua/rose-pine.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 054be1c..4d55469 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -308,7 +308,8 @@ local function set_highlights() ["@type.builtin"] = { fg = palette.foam, bold = styles.bold }, -- ["@type.definition"] = {}, - -- ["@attribute"] = {}, + ["@attribute"] = { fg = "iris" }, + ["@attribute.builtin"] = { fg = "iris", bold = styles.bold }, ["@property"] = { fg = palette.foam, italic = styles.italic }, ["@function"] = { fg = palette.rose }, From 3d71ab02f25dd51fbc18f3d2604a23c69b958494 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 3 Feb 2025 11:06:21 -0600 Subject: [PATCH 65/82] feat: reduce background opacity for special comments --- lua/rose-pine.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 4d55469..523e9d6 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -351,10 +351,10 @@ local function set_highlights() ["@comment.error"] = { fg = groups.error }, ["@comment.warning"] = { fg = groups.warn }, - ["@comment.todo"] = { fg = groups.todo, bg = groups.todo, blend = 20 }, - ["@comment.hint"] = { fg = groups.hint, bg = groups.hint, blend = 20 }, - ["@comment.info"] = { fg = groups.info, bg = groups.info, blend = 20 }, - ["@comment.note"] = { fg = groups.note, bg = groups.note, blend = 20 }, + ["@comment.todo"] = { fg = groups.todo, bg = groups.todo, blend = 15 }, + ["@comment.hint"] = { fg = groups.hint, bg = groups.hint, blend = 15 }, + ["@comment.info"] = { fg = groups.info, bg = groups.info, blend = 15 }, + ["@comment.note"] = { fg = groups.note, bg = groups.note, blend = 15 }, --- Markup ["@markup.strong"] = { bold = styles.bold }, From f01eac6eedf6197509dde8b66de0263207ee1877 Mon Sep 17 00:00:00 2001 From: mvllow Date: Mon, 3 Feb 2025 11:28:57 -0600 Subject: [PATCH 66/82] fix: invalid palette format --- lua/rose-pine.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 523e9d6..4f4dfdc 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -308,8 +308,8 @@ local function set_highlights() ["@type.builtin"] = { fg = palette.foam, bold = styles.bold }, -- ["@type.definition"] = {}, - ["@attribute"] = { fg = "iris" }, - ["@attribute.builtin"] = { fg = "iris", bold = styles.bold }, + ["@attribute"] = { fg = palette.iris }, + ["@attribute.builtin"] = { fg = palette.iris, bold = styles.bold }, ["@property"] = { fg = palette.foam, italic = styles.italic }, ["@function"] = { fg = palette.rose }, From 340cf5ed5e75673d34055f7f91727ce79965b703 Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 5 Feb 2025 19:35:55 -0600 Subject: [PATCH 67/82] feat(perf): cache colors for up to 3x speed improvements --- lua/rose-pine/utilities.lua | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/lua/rose-pine/utilities.lua b/lua/rose-pine/utilities.lua index 26e019e..32a8575 100644 --- a/lua/rose-pine/utilities.lua +++ b/lua/rose-pine/utilities.lua @@ -14,10 +14,17 @@ local function color_to_rgb(color) return { byte(new_color, 16), byte(new_color, 8), byte(new_color, 0) } end +local color_cache = {} + ---@param color string Palette key or hex value function utilities.parse_color(color) + if color_cache[color] then + return color_cache[color] + end + if color == nil then - return print("Invalid color: " .. color) + print("Invalid color: " .. color) + return nil end color = color:lower() @@ -26,13 +33,21 @@ function utilities.parse_color(color) color = require("rose-pine.palette")[color] or vim.api.nvim_get_color_by_name(color) end + color_cache[color] = color return color end +local blend_cache = {} + ---@param fg string Foreground color ---@param bg string Background color ---@param alpha number Between 0 (background) and 1 (foreground) function utilities.blend(fg, bg, alpha) + local cache_key = fg .. bg .. alpha + if blend_cache[cache_key] then + return blend_cache[cache_key] + end + local fg_rgb = color_to_rgb(fg) local bg_rgb = color_to_rgb(bg) @@ -41,7 +56,10 @@ function utilities.blend(fg, bg, alpha) return math.floor(math.min(math.max(0, ret), 255) + 0.5) end - return string.format("#%02X%02X%02X", blend_channel(1), blend_channel(2), blend_channel(3)) + local result = string.format("#%02X%02X%02X", blend_channel(1), blend_channel(2), blend_channel(3)) + + blend_cache[cache_key] = result + return result end return utilities From 946de320f411e71530d7e8c9249fc344d8ad66aa Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 5 Feb 2025 19:36:10 -0600 Subject: [PATCH 68/82] fix: strip non-standard blend properties --- lua/rose-pine.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 4f4dfdc..8ffa5c0 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -1122,9 +1122,14 @@ local function set_highlights() if config.options.before_highlight ~= nil then config.options.before_highlight(group, highlight, palette) end + if highlight.blend ~= nil and (highlight.blend >= 0 and highlight.blend <= 100) and highlight.bg ~= nil then highlight.bg = utilities.blend(highlight.bg, highlight.blend_on or palette.base, highlight.blend / 100) end + + highlight.blend = nil + highlight.blend_on = nil + vim.api.nvim_set_hl(0, group, highlight) end From 0511701746d6f03846b7848c59b98b2d9387090f Mon Sep 17 00:00:00 2001 From: mvllow Date: Wed, 5 Feb 2025 19:49:14 -0600 Subject: [PATCH 69/82] feat: use experimental darker text for dawn --- 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 59c300c..cfefd65 100644 --- a/lua/rose-pine/palette.lua +++ b/lua/rose-pine/palette.lua @@ -47,7 +47,7 @@ local variants = { overlay = "#f2e9e1", muted = "#9893a5", subtle = "#797593", - text = "#575279", + text = "#464261", love = "#b4637a", gold = "#ea9d34", rose = "#d7827e", From 8b216f72526a9c220bb79de0a01382cd3c8c64d0 Mon Sep 17 00:00:00 2001 From: Tiago Date: Sun, 23 Feb 2025 21:19:21 +0000 Subject: [PATCH 70/82] feat: add support for vim-sneak (#342) --- lua/rose-pine.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 8ffa5c0..85f9aac 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -1022,6 +1022,11 @@ local function set_highlights() SnacksIndentScope = { fg = palette.foam }, SnacksPickerMatch = { fg = palette.rose, bold = styles.bold }, + + -- justinmk/vim-sneak + Sneak = { fg = palette.base, bg = palette.love }, + SneakCurrent = { link = "StatusLineTerm" }, + SneakScope = { link = "IncSearch" }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 44739383b9ba01512a9d81db1f542632502d510f Mon Sep 17 00:00:00 2001 From: mvllow Date: Tue, 25 Feb 2025 19:58:52 -0600 Subject: [PATCH 71/82] docs: add highlight group examples with blend and inherit options --- readme.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 8a2740c..6ef48bc 100644 --- a/readme.md +++ b/readme.md @@ -27,8 +27,8 @@ Install `rose-pine/neovim` using your favourite package manager: ```lua -- lua/plugins/rose-pine.lua -return { - "rose-pine/neovim", +return { + "rose-pine/neovim", name = "rose-pine", config = function() vim.cmd("colorscheme rose-pine") @@ -123,9 +123,13 @@ require("rose-pine").setup({ -- }, }, + -- NOTE: Highlight groups are extended (merged) by default. Disable this + -- per group via `inherit = false` highlight_groups = { -- Comment = { fg = "foam" }, + -- StatusLine = { fg = "love", bg = "love", blend = 15 }, -- VertSplit = { fg = "muted", bg = "muted" }, + -- Visual = { fg = "base", bg = "text", inherit = false }, }, before_highlight = function(group, highlight, palette) From d7dc9cd3f2664511e55bd7262557593e759b6225 Mon Sep 17 00:00:00 2001 From: stelo <42366677+jfkisafk@users.noreply.github.com> Date: Tue, 11 Mar 2025 19:25:25 -0700 Subject: [PATCH 72/82] feat: extends DapUIType fg to iris (#348) --- lua/rose-pine.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 85f9aac..24fa5da 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -722,6 +722,7 @@ local function set_highlights() DapUIThread = { fg = palette.gold }, DapUIValue = { fg = palette.text }, DapUIVariable = { fg = palette.text }, + DapUIType = { fg = palette.iris }, DapUIWatchesEmpty = { fg = palette.love }, DapUIWatchesError = { link = "DapUIWatchesEmpty" }, DapUIWatchesValue = { link = "DapUIThread" }, From 5ccc37982260d0b468c82aa965e2a8afc50e9d66 Mon Sep 17 00:00:00 2001 From: aileot <46470475+aileot@users.noreply.github.com> Date: Mon, 31 Mar 2025 15:27:19 +0000 Subject: [PATCH 73/82] fix: set `background=light` if variant is "dawn" (#349) * fix: set `background=light` if variant is "dawn" This change might fix https://github.com/rose-pine/neovim/issues/321 * Update lua/rose-pine.lua * fix: restrict variants that override `&background` The other variant params are considered as if "auto" --- lua/rose-pine.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 24fa5da..73c9534 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -1182,6 +1182,12 @@ function M.colorscheme(variant) end vim.g.colors_name = "rose-pine" + if variant == "dawn" then + vim.o.background = "light" + elseif variant == "main" or variant == "moon" then + vim.o.background = "dark" + end + set_highlights() end From 39ec539f8392dfa3e4a7736461fce7c223721aca Mon Sep 17 00:00:00 2001 From: Andrei Heidelbacher Date: Thu, 1 May 2025 03:02:53 +0200 Subject: [PATCH 74/82] feat(lualine): change background from base to surface (#354) This change improves the contrast of the statusline while aligning with the theme's spec. --- lua/lualine/themes/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 4c2c9a6..e409130 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,7 +1,7 @@ local p = require("rose-pine.palette") local config = require("rose-pine.config") -local bg_base = p.base +local bg_base = p.surface if config.options.styles.transparency then bg_base = "NONE" end From a67f5ef34bb269692ede83fd7f7397e0b5c3736d Mon Sep 17 00:00:00 2001 From: Andrei Heidelbacher Date: Thu, 1 May 2025 03:53:00 +0200 Subject: [PATCH 75/82] fix(blink.cmp): remove dedicated BlinkCmpDoc highlight (#355) The default `BlinkCmpDoc` highlight is linked to `NormalFloat`, which is a sensible default. However, due to overriding the default link with only `fg` provided, the `bg` is cleared and the documentation popup is indistinguishable from regular text. This change is technically a no-op in terms of intended palette, because `NormalFloat` should already use `palette.text`, and only fixes the cleared `bg` bug. --- lua/rose-pine.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 73c9534..600ac4e 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -977,7 +977,6 @@ local function set_highlights() AvanteReversedThirdTitle = { fg = palette.iris }, -- Saghen/blink.cmp - BlinkCmpDoc = { fg = palette.text }, BlinkCmpDocBorder = { fg = palette.highlight_high }, BlinkCmpGhostText = { fg = palette.muted }, From d195ed8673ab887460b6a08b9845172c69ca34f7 Mon Sep 17 00:00:00 2001 From: Andrei Heidelbacher Date: Thu, 1 May 2025 23:55:24 +0200 Subject: [PATCH 76/82] feat(blink.cmp): improve BlinkCmpDoc contrast between current line (#356) --- lua/rose-pine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 600ac4e..4e9c665 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -977,6 +977,8 @@ local function set_highlights() AvanteReversedThirdTitle = { fg = palette.iris }, -- Saghen/blink.cmp + BlinkCmpDoc = { bg = palette.highlight_low }, + BlinkCmpDocSeparator = { bg = palette.highlight_low }, BlinkCmpDocBorder = { fg = palette.highlight_high }, BlinkCmpGhostText = { fg = palette.muted }, From 6b9840790cc7acdfadde07f308d34b62dd9cc675 Mon Sep 17 00:00:00 2001 From: fdcote <48247604+fdcote@users.noreply.github.com> Date: Mon, 5 May 2025 13:13:20 -0400 Subject: [PATCH 77/82] feat: add `QuickFixLine` (#357) --- lua/rose-pine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 4e9c665..fc21a2c 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -121,7 +121,7 @@ local function set_highlights() PmenuSel = { fg = palette.text, bg = palette.overlay }, PmenuThumb = { bg = palette.muted }, Question = { fg = palette.gold }, - -- QuickFixLink = {}, + QuickFixLine = { fg = palette.foam }, -- RedrawDebugNormal = {}, RedrawDebugClear = { fg = palette.base, bg = palette.gold }, RedrawDebugComposed = { fg = palette.base, bg = palette.pine }, From 83c66bcadbcaf344cf0af1a41d8bd92255116b66 Mon Sep 17 00:00:00 2001 From: Adrian Schneider <166428581+adrior11@users.noreply.github.com> Date: Thu, 26 Jun 2025 19:31:24 +0200 Subject: [PATCH 78/82] feat(grug-far): add highlight groups for add/remove results (#366) --- lua/rose-pine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index fc21a2c..801f28d 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -961,6 +961,8 @@ local function set_highlights() GrugFarInputPlaceholder = { link = "Comment" }, GrugFarResultsActionMessage = { fg = palette.foam }, GrugFarResultsChangeIndicator = { fg = groups.git_change }, + GrugFarResultsRemoveIndicator = { fg = groups.git_delete }, + GrugFarResultsAddIndicator = { fg = groups.git_add }, GrugFarResultsHeader = { fg = palette.pine }, GrugFarResultsLineNo = { fg = palette.iris }, GrugFarResultsLineColumn = { link = "GrugFarResultsLineNo" }, From f93360149e9ed4df8677fbb07c7231ea0fd03b97 Mon Sep 17 00:00:00 2001 From: fdcote <48247604+fdcote@users.noreply.github.com> Date: Thu, 26 Jun 2025 17:32:32 -0400 Subject: [PATCH 79/82] feat: add `ModesFormat` (#367) --- lua/rose-pine.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 801f28d..571d336 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -462,6 +462,7 @@ local function set_highlights() -- mvllow/modes.nvim ModesCopy = { bg = palette.gold }, ModesDelete = { bg = palette.love }, + ModesFormat = { bg = palette.rose }, ModesInsert = { bg = palette.foam }, ModesReplace = { bg = palette.pine }, ModesVisual = { bg = palette.iris }, From 72befaffeac38db7bdd49e0549eaa2c4806dd878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Karpi=C5=84ski?= <40724893+davkk@users.noreply.github.com> Date: Fri, 18 Jul 2025 22:25:55 +0200 Subject: [PATCH 80/82] fix: do not clear `blend` prop from highlight (#351) * add private built-in blend override --------- Co-authored-by: mvllow --- lua/rose-pine.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 571d336..196f03a 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -1140,6 +1140,10 @@ local function set_highlights() highlight.blend = nil highlight.blend_on = nil + if highlight._nvim_blend ~= nil then + highlight.blend = highlight._nvim_blend + end + vim.api.nvim_set_hl(0, group, highlight) end From 0e70556c8ceb3604c87b2e2589a9c0e9873eba73 Mon Sep 17 00:00:00 2001 From: HieuDao-code <106801182+HieuDao-code@users.noreply.github.com> Date: Sun, 24 Aug 2025 16:47:05 +0200 Subject: [PATCH 81/82] feat(diffview.nvim): add support for `sindrets/diffview.nvim` (#369) --- lua/rose-pine.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index 196f03a..aa3abc0 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -1032,6 +1032,39 @@ local function set_highlights() Sneak = { fg = palette.base, bg = palette.love }, SneakCurrent = { link = "StatusLineTerm" }, SneakScope = { link = "IncSearch" }, + + -- sindrets/diffview.nvim + DiffviewPrimary = { fg = palette.pine }, + DiffviewSecondary = { fg = palette.foam }, + DiffviewNormal = { fg = palette.text, bg = palette.surface }, + DiffviewWinSeparator = { fg = palette.text, bg = palette.surface }, + + DiffviewFilePanelTitle = { fg = palette.foam, bold = styles.bold }, + DiffviewFilePanelCounter = { fg = palette.rose }, + DiffviewFilePanelRootPath = { fg = palette.foam, bold = styles.bold }, + DiffviewFilePanelFileName = { fg = palette.text }, + DiffviewFilePanelSelected = { fg = palette.gold }, + DiffviewFilePanelPath = { link = "Comment" }, + + DiffviewFilePanelInsertions = { fg = groups.git_add }, + DiffviewFilePanelDeletions = { fg = groups.git_delete }, + DiffviewFilePanelConflicts = { fg = groups.git_merge }, + DiffviewFolderName = { fg = palette.foam, bold = styles.bold }, + DiffviewFolderSign = { fg = palette.subtle }, + DiffviewHash = { fg = palette.rose }, + DiffviewReference = { fg = palette.foam, bold = styles.bold }, + DiffviewReflogSelector = { fg = palette.rose }, + DiffviewStatusAdded = { fg = groups.git_add }, + DiffviewStatusUntracked = { fg = groups.untracked }, + DiffviewStatusModified = { fg = groups.git_change }, + DiffviewStatusRenamed = { fg = groups.git_rename }, + DiffviewStatusCopied = { fg = groups.untracked }, + DiffviewStatusTypeChange = { fg = groups.git_change }, + DiffviewStatusUnmerged = { fg = groups.git_change }, + DiffviewStatusUnknown = { fg = groups.git_delete }, + DiffviewStatusDeleted = { fg = groups.git_delete }, + DiffviewStatusBroken = { fg = groups.git_delete }, + DiffviewStatusIgnored = { fg = groups.git_ignore }, } local transparency_highlights = { DiagnosticVirtualTextError = { fg = groups.error }, From 72a04c4065345b51b56aed4859ea1d884f734097 Mon Sep 17 00:00:00 2001 From: Antoine Bertin Date: Sun, 24 Aug 2025 16:50:23 +0200 Subject: [PATCH 82/82] feat: add AvantePromptInput highlight support (#368) * feat: add AvantePromptInput highlight support --- lua/rose-pine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/rose-pine.lua b/lua/rose-pine.lua index aa3abc0..f10ffcd 100644 --- a/lua/rose-pine.lua +++ b/lua/rose-pine.lua @@ -978,6 +978,8 @@ local function set_highlights() AvanteReversedSubtitle = { fg = palette.foam }, AvanteThirdTitle = { fg = palette.highlight_med, bg = palette.iris }, AvanteReversedThirdTitle = { fg = palette.iris }, + AvantePromptInput = { fg = palette.text, bg = groups.panel }, + AvantePromptInputBorder = { fg = groups.border }, -- Saghen/blink.cmp BlinkCmpDoc = { bg = palette.highlight_low },