diff --git a/lua/lualine/themes/rose-pine-alt-dawn.lua b/lua/lualine/themes/rose-pine-alt-dawn.lua deleted file mode 100644 index bcf3bf4..0000000 --- a/lua/lualine/themes/rose-pine-alt-dawn.lua +++ /dev/null @@ -1,4 +0,0 @@ -local p = require("rose-pine.palette").variants.dawn -local generator = require("lualine.generate") - -return generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-alt-main.lua b/lua/lualine/themes/rose-pine-alt-main.lua deleted file mode 100644 index 7214e5d..0000000 --- a/lua/lualine/themes/rose-pine-alt-main.lua +++ /dev/null @@ -1,4 +0,0 @@ -local p = require("rose-pine.palette").variants.main -local generator = require("lualine.generate") - -return generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-alt-moon.lua b/lua/lualine/themes/rose-pine-alt-moon.lua deleted file mode 100644 index d746829..0000000 --- a/lua/lualine/themes/rose-pine-alt-moon.lua +++ /dev/null @@ -1,4 +0,0 @@ -local p = require("rose-pine.palette").variants.moon -local generator = require("lualine.generate") - -return generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-alt.lua b/lua/lualine/themes/rose-pine-alt.lua index 193f925..0248420 100644 --- a/lua/lualine/themes/rose-pine-alt.lua +++ b/lua/lualine/themes/rose-pine-alt.lua @@ -1,4 +1 @@ -local p = require("rose-pine.palette") -local generator = require("lualine.generate") - -return generator.alternate(p) +return require("rose-pine.plugins.lualine").alternate diff --git a/lua/lualine/themes/rose-pine-dawn.lua b/lua/lualine/themes/rose-pine-dawn.lua deleted file mode 100644 index 46897a5..0000000 --- a/lua/lualine/themes/rose-pine-dawn.lua +++ /dev/null @@ -1,4 +0,0 @@ -local p = require("rose-pine.palette").variants.dawn -local generator = require("lualine.generate") - -return generator.normal(p) diff --git a/lua/lualine/themes/rose-pine-grey.lua b/lua/lualine/themes/rose-pine-grey.lua new file mode 100644 index 0000000..2ef51e9 --- /dev/null +++ b/lua/lualine/themes/rose-pine-grey.lua @@ -0,0 +1,2 @@ +return require("rose-pine.plugins.lualine").grey + 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-main.lua b/lua/lualine/themes/rose-pine-main.lua deleted file mode 100644 index ee779ea..0000000 --- a/lua/lualine/themes/rose-pine-main.lua +++ /dev/null @@ -1,4 +0,0 @@ -local p = require("rose-pine.palette").variants.main -local generator = require("lualine.generate") - -return generator.normal(p) diff --git a/lua/lualine/themes/rose-pine-moon.lua b/lua/lualine/themes/rose-pine-moon.lua deleted file mode 100644 index 3cf1431..0000000 --- a/lua/lualine/themes/rose-pine-moon.lua +++ /dev/null @@ -1,5 +0,0 @@ -local p = require("rose-pine.palette").variants.moon -local generator = require("lualine.generate") - -return generator.normal(p) - diff --git a/lua/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index e561a5f..2d33786 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,4 +1 @@ -local p = require("rose-pine.palette") -local generator = require("lualine.generate") - -return generator.normal(p) +return require("rose-pine.plugins.lualine").normal diff --git a/lua/lualine/generate.lua b/lua/rose-pine/plugins/lualine.lua similarity index 50% rename from lua/lualine/generate.lua rename to lua/rose-pine/plugins/lualine.lua index 63c1406..52943b8 100644 --- a/lua/lualine/generate.lua +++ b/lua/rose-pine/plugins/lualine.lua @@ -1,6 +1,8 @@ -local M = {} +local palette = require("rose-pine.palette") -function M.alternate(p) +local generator = {} + +function generator.alternate(p) return { normal = { a = { bg = p.surface, fg = p.rose, gui = "bold" }, @@ -24,10 +26,11 @@ function M.alternate(p) b = { bg = p.base, fg = p.subtle }, c = { bg = p.base, fg = p.subtle, gui = "italic" }, }, + variants = {}, } end -function M.normal(p) +function generator.normal(p) local config = require("rose-pine.config") local bg_base = p.base @@ -44,29 +47,79 @@ function M.normal(p) 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 }, }, + variants = {}, } end -return M +function generator.grey(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