feat(build)!: use color name for _compat config

This commit is contained in:
Michael Chris Lopez
2021-10-31 14:48:19 +08:00
parent 0ae1fded2c
commit 111ed8ff64
2 changed files with 16 additions and 15 deletions

View File

@@ -10,16 +10,17 @@ end
local function build(name, specs, palette, opt) local function build(name, specs, palette, opt)
local exclude = opt.exclude or {} local exclude = opt.exclude or {}
local templates = { "vim", "iterm", "kitty", "alacritty", "wezterm", "lualine", "lightline", "tmux" }
local template_opt = opt.template_opt or {} local template_opt = opt.template_opt or {}
for _, t in ipairs(templates) do local template_keys = { "vim", "iterm", "kitty", "alacritty", "wezterm", "lualine", "lightline", "tmux" }
if not vim.tbl_contains(exclude, t) then for _, key in ipairs(template_keys) do
write_template(unpack(require("zenbones.template." .. t)(name, specs, palette, template_opt[t] or {}))) if not vim.tbl_contains(exclude, key) then
local template = require("zenbones.template." .. key)
write_template(unpack(template(name, specs, palette, template_opt[key] or {})))
end end
end end
end end
local colorschemes = { local config_set = {
{ {
name = "zenbones", name = "zenbones",
palette = require "zenbones.palette", palette = require "zenbones.palette",
@@ -234,23 +235,23 @@ local colorschemes = {
}, },
} }
local function build_from(colorscheme) local function build_from(config)
if colorscheme.setup then if config.setup then
colorscheme.setup() config.setup()
end end
local specs = colorscheme.specs or colorscheme.name local specs = config.specs or config.name
package.loaded[specs] = nil package.loaded[specs] = nil
build(colorscheme.name, require(specs), colorscheme.palette, colorscheme.opt or {}) build(config.name, require(specs), config.palette, config.opt or {})
if colorscheme.cleanup then if config.cleanup then
colorscheme.cleanup() config.cleanup()
end end
end end
local M = {} local M = {}
function M.run() function M.run()
for _i, colorscheme in ipairs(colorschemes) do for _i, config in ipairs(config_set) do
build_from(colorscheme) build_from(config)
end end
end end

View File

@@ -7,7 +7,7 @@ set background=${background}
let g:colors_name = '${name}' let g:colors_name = '${name}'
${termcolors} ${termcolors}
if has('nvim') && (!exists('g:zenbones_compat') || g:zenbones_compat == 0) if has('nvim') && (!exists('g:${name}_compat') || g:${name}_compat == 0)
lua package.loaded["${specs_path}"] = nil lua package.loaded["${specs_path}"] = nil
lua require "lush"(require "${specs_path}", { force_clean = false }) lua require "lush"(require "${specs_path}", { force_clean = false })
finish finish