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