diff --git a/lua/lualine/generate.lua b/lua/lualine/generate.lua new file mode 100644 index 0000000..63c1406 --- /dev/null +++ b/lua/lualine/generate.lua @@ -0,0 +1,72 @@ +local M = {} + +function M.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" }, + }, + } +end + +function M.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 }, + 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 }, + }, + } +end + +return M diff --git a/lua/lualine/themes/rose-pine-alt-dawn.lua b/lua/lualine/themes/rose-pine-alt-dawn.lua index 0bd14a0..b71f753 100644 --- a/lua/lualine/themes/rose-pine-alt-dawn.lua +++ b/lua/lualine/themes/rose-pine-alt-dawn.lua @@ -1,26 +1,4 @@ local p = require("rose-pine.variants").dawn +local generator = require("lualine.generate") -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 generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-alt-main.lua b/lua/lualine/themes/rose-pine-alt-main.lua index 073b6e9..963f2da 100644 --- a/lua/lualine/themes/rose-pine-alt-main.lua +++ b/lua/lualine/themes/rose-pine-alt-main.lua @@ -1,26 +1,4 @@ local p = require("rose-pine.variants").main +local generator = require("lualine.generate") -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 generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-alt-moon.lua b/lua/lualine/themes/rose-pine-alt-moon.lua index 81b3481..a5ef74b 100644 --- a/lua/lualine/themes/rose-pine-alt-moon.lua +++ b/lua/lualine/themes/rose-pine-alt-moon.lua @@ -1,26 +1,4 @@ local p = require("rose-pine.variants").moon +local generator = require("lualine.generate") -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 generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-alt.lua b/lua/lualine/themes/rose-pine-alt.lua index 2fdb172..180d802 100644 --- a/lua/lualine/themes/rose-pine-alt.lua +++ b/lua/lualine/themes/rose-pine-alt.lua @@ -1,26 +1,4 @@ local p = require("rose-pine.variants") +local generator = require("lualine.generate") -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 generator.alternate(p) diff --git a/lua/lualine/themes/rose-pine-dawn.lua b/lua/lualine/themes/rose-pine-dawn.lua index d5d1a89..0edd7b3 100644 --- a/lua/lualine/themes/rose-pine-dawn.lua +++ b/lua/lualine/themes/rose-pine-dawn.lua @@ -1,40 +1,4 @@ local p = require("rose-pine.variants").dawn -local config = require("rose-pine.config") +local generator = require("lualine.generate") -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 generator.normal(p) diff --git a/lua/lualine/themes/rose-pine-main.lua b/lua/lualine/themes/rose-pine-main.lua index 7ed2c75..37fa29f 100644 --- a/lua/lualine/themes/rose-pine-main.lua +++ b/lua/lualine/themes/rose-pine-main.lua @@ -1,40 +1,4 @@ local p = require("rose-pine.variants").main -local config = require("rose-pine.config") +local generator = require("lualine.generate") -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 generator.normal(p) diff --git a/lua/lualine/themes/rose-pine-moon.lua b/lua/lualine/themes/rose-pine-moon.lua index bea83f7..f3b5bab 100644 --- a/lua/lualine/themes/rose-pine-moon.lua +++ b/lua/lualine/themes/rose-pine-moon.lua @@ -1,40 +1,5 @@ local p = require("rose-pine.variants").moon -local config = require("rose-pine.config") +local generator = require("lualine.generate") -local bg_base = p.base -if config.options.styles.transparency then - bg_base = "NONE" -end +return generator.normal(p) -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/lualine/themes/rose-pine.lua b/lua/lualine/themes/rose-pine.lua index 4c2c9a6..e561a5f 100644 --- a/lua/lualine/themes/rose-pine.lua +++ b/lua/lualine/themes/rose-pine.lua @@ -1,40 +1,4 @@ local p = require("rose-pine.palette") -local config = require("rose-pine.config") +local generator = require("lualine.generate") -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 generator.normal(p)