diff --git a/lua/neobones/init.lua b/lua/neobones/init.lua index 5c022e6..456e61f 100644 --- a/lua/neobones/init.lua +++ b/lua/neobones/init.lua @@ -4,10 +4,10 @@ local hsluv = lush.hsluv local base_name = util.bg_to_base_name() local p = require("neobones.palette")[base_name] +local generator = require "zenbones.specs" +local specs = generator.generate(p, base_name, generator.get_global_config(base_name, "neobones")) if base_name == "zenbones" then - local generator = require "zenbones.specs" - local specs = generator.generate(p, generator.get_global_config()) return lush.extends({ specs }).with(function() return { helpHyperTextJump { fg = hsluv "#195174" }, -- --link-color @@ -16,8 +16,6 @@ if base_name == "zenbones" then } end) else - local generator = require "zenflesh.specs" - local specs = generator.generate(p, generator.get_global_config()) return lush.extends({ specs }).with(function() return { FloatBorder { fg = hsluv "#203f57" }, -- --border-color diff --git a/lua/rosebones/init.lua b/lua/rosebones/init.lua index 4b62004..8ac1e03 100644 --- a/lua/rosebones/init.lua +++ b/lua/rosebones/init.lua @@ -4,8 +4,8 @@ local util = require "zenbones.util" local base_name = util.bg_to_base_name() local p = require("rosebones.palette")[base_name] -local generator = require(base_name .. ".specs") -local specs = generator.generate(p, generator.get_global_config(base_name)) +local generator = require "zenbones.specs" +local specs = generator.generate(p, base_name, generator.get_global_config(base_name, "rosebones")) -- extend specs using Lush return lush.extends({ specs }).with(function() diff --git a/lua/zenbones/init.lua b/lua/zenbones/init.lua index bd9f9c9..80fc7e0 100644 --- a/lua/zenbones/init.lua +++ b/lua/zenbones/init.lua @@ -1,4 +1,4 @@ local generator = require "zenbones.specs" local p = require "zenbones.palette" -return generator.generate(p, generator.get_global_config()) +return generator.generate(p, "zenbones", generator.get_global_config "zenbones") diff --git a/lua/zenbones/palette.lua b/lua/zenbones/palette.lua index 9d751ff..3432917 100644 --- a/lua/zenbones/palette.lua +++ b/lua/zenbones/palette.lua @@ -1,5 +1,3 @@ local util = require "zenbones.util" -local lush = require "lush" -local hsluv = lush.hsluv return util.palette_extend({}, "zenbones") diff --git a/lua/zenbones/specs/init.lua b/lua/zenbones/specs/init.lua new file mode 100644 index 0000000..1b7c184 --- /dev/null +++ b/lua/zenbones/specs/init.lua @@ -0,0 +1,34 @@ +local M = {} + +function M.get_global_config(base_name, prefix) + prefix = type(prefix) == "string" and prefix or base_name + if base_name == "zenbones" then + return { + lightness = vim.g[prefix .. "_lightness"], + comment_gui = vim.g[prefix .. "_italic_comments"] ~= false and "italic" or "NONE", + dim_noncurrent_window = vim.g[prefix .. "_dim_noncurrent_window"], + solid_vert_split = vim.g[prefix .. "_solid_vert_split"], + } + elseif base_name == "zenflesh" then + return { + darkness = vim.g[prefix .. "_darkness"], + comment_gui = vim.g[prefix .. "_italic_comments"] ~= false and "italic" or "NONE", + lighten_noncurrent_window = vim.g[prefix .. "_lighten_noncurrent_window"], + solid_vert_split = vim.g[prefix .. "_solid_vert_split"], + } + else + error "Unknown base_name" + end +end + +function M.generate(p, base_name, opt) + if base_name == "zenbones" then + return require "zenbones.specs.zenbones"(p, opt) + elseif base_name == "zenflesh" then + return require "zenbones.specs.zenflesh"(p, opt) + else + error "Unknown base_name" + end +end + +return M diff --git a/lua/zenbones/specs.lua b/lua/zenbones/specs/zenbones.lua similarity index 98% rename from lua/zenbones/specs.lua rename to lua/zenbones/specs/zenbones.lua index 5129014..9293b16 100644 --- a/lua/zenbones/specs.lua +++ b/lua/zenbones/specs/zenbones.lua @@ -1,17 +1,6 @@ local lush = require "lush" -local M = {} - -function M.get_global_config(base_name) - return { - lightness = vim.g.zenbones_lightness, - comment_gui = vim.g.zenbones_italic_comments ~= false and "italic" or "NONE", - dim_noncurrent_window = vim.g.zenbones_dim_noncurrent_window, - solid_vert_split = vim.g.zenbones_solid_vert_split, - } -end - -function M.generate(p, opt) +local function generate(p, opt) local normal_bg = p.bg local diff_bg_l = 0 @@ -422,5 +411,5 @@ function M.generate(p, opt) return lush.merge(specs) end -return M +return generate -- vi:nowrap diff --git a/lua/zenflesh/specs.lua b/lua/zenbones/specs/zenflesh.lua similarity index 98% rename from lua/zenflesh/specs.lua rename to lua/zenbones/specs/zenflesh.lua index b6316e4..22fb982 100644 --- a/lua/zenflesh/specs.lua +++ b/lua/zenbones/specs/zenflesh.lua @@ -1,17 +1,6 @@ local lush = require "lush" -local M = {} - -function M.get_global_config(base_name) - return { - darkness = vim.g.zenflesh_darkness, - comment_gui = vim.g.zenflesh_italic_comments ~= false and "italic" or "NONE", - lighten_noncurrent_window = vim.g.zenflesh_lighten_noncurrent_window, - solid_vert_split = vim.g.zenflesh_solid_vert_split, - } -end - -function M.generate(p, opt) +local function generate(p, opt) local normal_bg = p.bg local diff_bg_l = 0 @@ -26,7 +15,7 @@ function M.generate(p, opt) vim.api.nvim_echo({ { error_msg, "WarningMsg" } }, true, {}) end - local comment_gui = opt.comment_gui ~= false and "italic" or "NONE" + local comment_gui = opt.comment_gui -- stylua: ignore start local theme = lush(function() @@ -422,5 +411,5 @@ function M.generate(p, opt) return lush.merge(specs) end -return M +return generate -- vi:nowrap diff --git a/lua/zenbones/util.lua b/lua/zenbones/util.lua index 161843d..9b9fcca 100644 --- a/lua/zenbones/util.lua +++ b/lua/zenbones/util.lua @@ -1,5 +1,3 @@ -local lush = require "lush" -local hsluv = lush.hsluv local M = {} -- got from http://lua-users.org/wiki/StringInterpolation @@ -14,6 +12,8 @@ function M.bg_to_base_name() end function M.palette_extend(p, base_name) + local lush = require "lush" + local hsluv = lush.hsluv if base_name == "zenbones" then p = vim.tbl_extend("keep", p, { bg = hsluv(39, 12, 94), -- sand diff --git a/lua/zenflesh/init.lua b/lua/zenflesh/init.lua index 584ba5f..a8d700d 100644 --- a/lua/zenflesh/init.lua +++ b/lua/zenflesh/init.lua @@ -1,4 +1,4 @@ -local generator = require "zenflesh.specs" +local generator = require "zenbones.specs" local p = require "zenflesh.palette" -return generator.generate(p, generator.get_global_config()) +return generator.generate(p, "zenflesh", generator.get_global_config "zenflesh") diff --git a/lua/zenflesh/palette.lua b/lua/zenflesh/palette.lua index 580864d..255119a 100644 --- a/lua/zenflesh/palette.lua +++ b/lua/zenflesh/palette.lua @@ -1,5 +1,3 @@ local util = require "zenbones.util" -local lush = require "lush" -local hsluv = lush.hsluv return util.palette_extend({}, "zenflesh")