Files
zenbones-theme/lua/zenbones/build.lua

99 lines
2.6 KiB
Lua
Raw Normal View History

2021-09-21 16:47:35 +08:00
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
2021-10-10 13:43:40 +08:00
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
2021-10-10 13:43:40 +08:00
write_template(unpack(require("zenbones.template." .. t)(name, specs, palette)))
end
end
end
local M = {}
function M.run()
-- default
2021-10-09 17:10:40 +08:00
package.loaded["zenbones"] = nil
local p = require "zenbones.palette"
2021-10-10 13:43:40 +08:00
build("zenbones", require "zenbones", p, {})
-- bright
2021-10-09 17:10:40 +08:00
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
2021-10-09 17:10:40 +08:00
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
2021-10-09 17:10:40 +08:00
package.loaded["zenflesh"] = nil
2021-10-10 13:43:40 +08:00
build("zenflesh", require "zenflesh", require "zenflesh.palette", {})
2021-09-21 21:13:10 +08:00
-- stark
2021-10-09 17:10:40 +08:00
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
2021-10-09 17:10:40 +08:00
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"
2021-10-09 17:30:15 +08:00
-- neobones light
2021-10-10 13:43:40 +08:00
package.loaded["neobones"] = nil
2021-09-21 21:13:10 +08:00
vim.opt.background = "light"
build("neobones_light", require "neobones", require("neobones.palette").light, { exclude = { "vim" } })
2021-09-21 21:13:10 +08:00
2021-10-09 17:30:15 +08:00
-- neobones dark
2021-10-10 13:43:40 +08:00
package.loaded["neobones"] = nil
2021-09-21 21:13:10 +08:00
vim.opt.background = "dark"
build("neobones_dark", require "neobones", require("neobones.palette").dark, { exclude = { "vim" } })
2021-10-14 18:19:49 +08:00
-- 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