99 lines
2.6 KiB
Lua
99 lines
2.6 KiB
Lua
local util = require "zenbones.util"
|
|
|
|
local function write_template(path, template, values)
|
|
print("[write template] " .. path)
|
|
local content = util.interp(template, values)
|
|
local file = io.open(path, "w")
|
|
file:write(content)
|
|
file:close()
|
|
end
|
|
|
|
function build(name, specs, palette, options)
|
|
local exclude = options.exclude or {}
|
|
local templates = { "vim", "iterm", "kitty", "alacritty", "wezterm", "lualine", "lightline", "tmux" }
|
|
for _, t in ipairs(templates) do
|
|
if not vim.tbl_contains(exclude, t) then
|
|
write_template(unpack(require("zenbones.template." .. t)(name, specs, palette)))
|
|
end
|
|
end
|
|
end
|
|
|
|
local M = {}
|
|
|
|
function M.run()
|
|
-- default
|
|
package.loaded["zenbones"] = nil
|
|
local p = require "zenbones.palette"
|
|
build("zenbones", require "zenbones", p, {})
|
|
|
|
-- bright
|
|
package.loaded["zenbones"] = nil
|
|
vim.g.zenbones_lightness = "bright"
|
|
build(
|
|
"zenbones_bright",
|
|
require "zenbones",
|
|
require "zenbones.palette",
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
)
|
|
vim.api.nvim_del_var "zenbones_lightness"
|
|
|
|
-- dim
|
|
package.loaded["zenbones"] = nil
|
|
vim.g.zenbones_lightness = "dim"
|
|
build(
|
|
"zenbones_dim",
|
|
require "zenbones",
|
|
require "zenbones.palette",
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
)
|
|
vim.api.nvim_del_var "zenbones_lightness"
|
|
|
|
-- default
|
|
package.loaded["zenflesh"] = nil
|
|
build("zenflesh", require "zenflesh", require "zenflesh.palette", {})
|
|
|
|
-- stark
|
|
package.loaded["zenflesh"] = nil
|
|
vim.g.zenflesh_darkness = "stark"
|
|
build(
|
|
"zenflesh_stark",
|
|
require "zenflesh",
|
|
require "zenflesh.palette",
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
)
|
|
vim.api.nvim_del_var "zenflesh_darkness"
|
|
|
|
-- warm
|
|
package.loaded["zenflesh"] = nil
|
|
vim.g.zenflesh_darkness = "warm"
|
|
build(
|
|
"zenflesh_warm",
|
|
require "zenflesh",
|
|
require "zenflesh.palette",
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
)
|
|
vim.api.nvim_del_var "zenflesh_darkness"
|
|
|
|
-- neobones light
|
|
package.loaded["neobones"] = nil
|
|
vim.opt.background = "light"
|
|
build("neobones_light", require "neobones", require("neobones.palette").light, { exclude = { "vim" } })
|
|
|
|
-- neobones dark
|
|
package.loaded["neobones"] = nil
|
|
vim.opt.background = "dark"
|
|
build("neobones_dark", require "neobones", require("neobones.palette").dark, { exclude = { "vim" } })
|
|
|
|
-- zenwritten light
|
|
package.loaded["zenwritten"] = nil
|
|
vim.opt.background = "light"
|
|
build("zenwritten_light", require "zenwritten", require("zenwritten.palette").light, { exclude = { "vim" } })
|
|
|
|
-- zenwritten dark
|
|
package.loaded["zenwritten"] = nil
|
|
vim.opt.background = "dark"
|
|
build("zenwritten_dark", require "zenwritten", require("zenwritten.palette").dark, { exclude = { "vim" } })
|
|
end
|
|
|
|
return M
|