2021-09-04 14:57:37 +08:00
|
|
|
-- got from http://lua-users.org/wiki/StringInterpolation
|
|
|
|
|
function interp(s, tab)
|
|
|
|
|
return (s:gsub("($%b{})", function(w)
|
|
|
|
|
return tab[w:sub(3, -2)] or w
|
|
|
|
|
end))
|
|
|
|
|
end
|
2021-09-04 13:14:01 +08:00
|
|
|
|
2021-09-04 16:40:29 +08:00
|
|
|
local function write_template(path, template, values)
|
2021-09-04 14:57:37 +08:00
|
|
|
print("[write template] " .. path)
|
2021-09-04 16:40:29 +08:00
|
|
|
local content = interp(template, values)
|
2021-09-04 14:57:37 +08:00
|
|
|
local file = io.open(path, "w")
|
|
|
|
|
file:write(content)
|
|
|
|
|
file:close()
|
|
|
|
|
end
|
2021-09-04 13:14:01 +08:00
|
|
|
|
|
|
|
|
local function build()
|
2021-09-06 16:36:12 +07:00
|
|
|
local templates = { "vim", "kitty", "alacritty", "wezterm", "lualine", "lightline", "tmux" }
|
2021-09-04 16:02:45 +08:00
|
|
|
for _, t in ipairs(templates) do
|
2021-09-14 07:50:23 +08:00
|
|
|
write_template(
|
|
|
|
|
unpack(
|
|
|
|
|
require("zenbones.build." .. t)(
|
|
|
|
|
"zenbones",
|
|
|
|
|
require "zenbones",
|
|
|
|
|
require "zenbones.palette",
|
|
|
|
|
require "zenbones.terminal"
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
write_template(
|
|
|
|
|
unpack(
|
|
|
|
|
require("zenbones.build." .. t)(
|
|
|
|
|
"zenflesh",
|
|
|
|
|
require "zenflesh",
|
|
|
|
|
require "zenflesh.palette",
|
|
|
|
|
require "zenflesh.terminal"
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
2021-09-04 16:02:45 +08:00
|
|
|
end
|
2021-09-04 13:14:01 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return { build = build }
|