From b24b48d35b4f96bbc9a717d3220e959dbf89f6b1 Mon Sep 17 00:00:00 2001 From: "PRIZ ;]" Date: Fri, 10 May 2024 12:22:41 -0500 Subject: [PATCH 1/2] 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 b6fe88c3282cf9f117a3e836d761c2d78d02f417 Mon Sep 17 00:00:00 2001 From: not Date: Tue, 14 May 2024 09:42:41 -0500 Subject: [PATCH 2/2] Revert "feat: new themes for lualine (#267)" (#269) This reverts commit b24b48d35b4f96bbc9a717d3220e959dbf89f6b1. --- 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