2021-09-21 16:47:35 +08:00
|
|
|
local util = require "zenbones.util"
|
2021-09-04 13:14:01 +08:00
|
|
|
|
2021-10-10 13:24:02 +08:00
|
|
|
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, terminal, 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, terminal)))
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local M = {}
|
|
|
|
|
|
|
|
|
|
function M.run()
|
2021-10-02 17:27:23 +08:00
|
|
|
-- default
|
2021-10-09 17:10:40 +08:00
|
|
|
package.loaded["zenbones"] = nil
|
2021-10-10 13:24:02 +08:00
|
|
|
local p = require "zenbones.palette"
|
|
|
|
|
build("zenbones", require "zenbones", p, require("zenbones.term").colors, {})
|
2021-10-02 17:27:23 +08:00
|
|
|
|
|
|
|
|
-- bright
|
2021-10-09 17:10:40 +08:00
|
|
|
package.loaded["zenbones"] = nil
|
2021-10-02 17:27:23 +08:00
|
|
|
vim.g.zenbones_lightness = "bright"
|
2021-10-10 13:24:02 +08:00
|
|
|
build(
|
2021-10-02 17:27:23 +08:00
|
|
|
"zenbones_bright",
|
|
|
|
|
require "zenbones",
|
|
|
|
|
require "zenbones.palette",
|
2021-10-09 16:27:46 +08:00
|
|
|
require("zenbones.term").colors,
|
2021-10-02 17:27:23 +08:00
|
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
|
|
|
)
|
|
|
|
|
vim.api.nvim_del_var "zenbones_lightness"
|
|
|
|
|
|
|
|
|
|
-- dim
|
2021-10-09 17:10:40 +08:00
|
|
|
package.loaded["zenbones"] = nil
|
2021-10-02 17:27:23 +08:00
|
|
|
vim.g.zenbones_lightness = "dim"
|
2021-10-10 13:24:02 +08:00
|
|
|
build(
|
2021-10-02 17:27:23 +08:00
|
|
|
"zenbones_dim",
|
|
|
|
|
require "zenbones",
|
|
|
|
|
require "zenbones.palette",
|
2021-10-09 16:27:46 +08:00
|
|
|
require("zenbones.term").colors,
|
2021-10-02 17:27:23 +08:00
|
|
|
{ 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:24:02 +08:00
|
|
|
build("zenflesh", require "zenflesh", require "zenflesh.palette", require("zenflesh.term").colors, {})
|
2021-09-21 21:13:10 +08:00
|
|
|
|
2021-10-02 17:27:23 +08:00
|
|
|
-- stark
|
2021-10-09 17:10:40 +08:00
|
|
|
package.loaded["zenflesh"] = nil
|
2021-10-02 17:27:23 +08:00
|
|
|
vim.g.zenflesh_darkness = "stark"
|
2021-10-10 13:24:02 +08:00
|
|
|
build(
|
2021-10-02 17:27:23 +08:00
|
|
|
"zenflesh_stark",
|
|
|
|
|
require "zenflesh",
|
|
|
|
|
require "zenflesh.palette",
|
2021-10-09 16:27:46 +08:00
|
|
|
require("zenflesh.term").colors,
|
2021-10-02 17:27:23 +08:00
|
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
|
|
|
)
|
|
|
|
|
vim.api.nvim_del_var "zenflesh_darkness"
|
|
|
|
|
|
|
|
|
|
-- warm
|
2021-10-09 17:10:40 +08:00
|
|
|
package.loaded["zenflesh"] = nil
|
2021-10-02 17:27:23 +08:00
|
|
|
vim.g.zenflesh_darkness = "warm"
|
2021-10-10 13:24:02 +08:00
|
|
|
build(
|
2021-10-02 17:27:23 +08:00
|
|
|
"zenflesh_warm",
|
|
|
|
|
require "zenflesh",
|
|
|
|
|
require "zenflesh.palette",
|
2021-10-09 16:27:46 +08:00
|
|
|
require("zenflesh.term").colors,
|
2021-10-02 17:27:23 +08:00
|
|
|
{ exclude = { "vim", "lightline", "lualine" } }
|
|
|
|
|
)
|
|
|
|
|
vim.api.nvim_del_var "zenflesh_darkness"
|
|
|
|
|
|
2021-10-09 17:30:15 +08:00
|
|
|
-- neobones light
|
|
|
|
|
package.loaded["zenbones.neobones"] = nil
|
2021-09-21 21:13:10 +08:00
|
|
|
vim.opt.background = "light"
|
2021-10-10 13:24:02 +08:00
|
|
|
build(
|
2021-10-09 17:30:15 +08:00
|
|
|
"neobones_light",
|
|
|
|
|
require "zenbones.neobones",
|
|
|
|
|
require "zenbones.neobones.palette",
|
|
|
|
|
require("zenbones.neobones.term").colors.zenbones,
|
2021-09-21 21:21:42 +08:00
|
|
|
{ exclude = { "vim" } }
|
2021-09-21 21:13:10 +08:00
|
|
|
)
|
|
|
|
|
|
2021-10-09 17:30:15 +08:00
|
|
|
-- neobones dark
|
|
|
|
|
package.loaded["zenbones.neobones"] = nil
|
2021-09-21 21:13:10 +08:00
|
|
|
vim.opt.background = "dark"
|
2021-10-10 13:24:02 +08:00
|
|
|
build(
|
2021-10-09 17:30:15 +08:00
|
|
|
"neobones_dark",
|
|
|
|
|
require "zenbones.neobones",
|
|
|
|
|
require "zenbones.neobones.palette",
|
|
|
|
|
require("zenbones.neobones.term").colors.zenflesh,
|
2021-09-21 21:21:42 +08:00
|
|
|
{ exclude = { "vim" } }
|
2021-09-21 21:13:10 +08:00
|
|
|
)
|
2021-09-04 13:14:01 +08:00
|
|
|
end
|
|
|
|
|
|
2021-10-10 13:24:02 +08:00
|
|
|
return M
|