remove old build system
This commit is contained in:
@@ -1,261 +0,0 @@
|
||||
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
|
||||
|
||||
local function build(name, specs, palette, opt)
|
||||
local exclude = opt.exclude or {}
|
||||
local template_opt = opt.template_opt or {}
|
||||
local template_keys = { "vim", "iterm", "kitty", "alacritty", "wezterm", "lualine", "lightline", "tmux" }
|
||||
for _, key in ipairs(template_keys) do
|
||||
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
|
||||
|
||||
local config_set = {
|
||||
{
|
||||
name = "zenbones_light",
|
||||
specs = "zenbones",
|
||||
palette = require("zenbones.palette").light,
|
||||
setup = function()
|
||||
vim.opt.background = "light"
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
name = "zenbones_dark",
|
||||
specs = "zenbones",
|
||||
palette = require("zenbones.palette").dark,
|
||||
setup = function()
|
||||
vim.opt.background = "dark"
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
name = "zenbones_bright",
|
||||
specs = "zenbones",
|
||||
palette = require("zenbones.palette").light,
|
||||
setup = function()
|
||||
vim.g.zenbones_lightness = "bright"
|
||||
end,
|
||||
cleanup = function()
|
||||
vim.api.nvim_del_var "zenbones_lightness"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "lightline", "lualine" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "zenbones_dim",
|
||||
specs = "zenbones",
|
||||
palette = require("zenbones.palette").light,
|
||||
setup = function()
|
||||
vim.g.zenbones_lightness = "dim"
|
||||
end,
|
||||
cleanup = function()
|
||||
vim.api.nvim_del_var "zenbones_lightness"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "lightline", "lualine" },
|
||||
},
|
||||
},
|
||||
|
||||
-- {
|
||||
-- name = "zenflesh_stark",
|
||||
-- specs = "zenflesh",
|
||||
-- palette = require "zenflesh.palette",
|
||||
-- setup = function()
|
||||
-- vim.g.zenflesh_darkness = "stark"
|
||||
-- end,
|
||||
-- cleanup = function()
|
||||
-- vim.api.nvim_del_var "zenflesh_darkness"
|
||||
-- end,
|
||||
-- opt = {
|
||||
-- exclude = { "vim", "lightline", "lualine" },
|
||||
-- },
|
||||
-- },
|
||||
--
|
||||
-- {
|
||||
-- name = "zenflesh_warm",
|
||||
-- specs = "zenflesh",
|
||||
-- palette = require "zenflesh.palette",
|
||||
-- setup = function()
|
||||
-- vim.g.zenflesh_darkness = "warm"
|
||||
-- end,
|
||||
-- cleanup = function()
|
||||
-- vim.api.nvim_del_var "zenflesh_darkness"
|
||||
-- end,
|
||||
-- opt = {
|
||||
-- exclude = { "vim", "lightline", "lualine" },
|
||||
-- },
|
||||
-- },
|
||||
|
||||
{
|
||||
name = "neobones_light",
|
||||
specs = "neobones",
|
||||
palette = require("neobones.palette").light,
|
||||
setup = function()
|
||||
vim.opt.background = "light"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "neobones_dark",
|
||||
specs = "neobones",
|
||||
palette = require("neobones.palette").dark,
|
||||
setup = function()
|
||||
vim.opt.background = "dark"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "zenwritten_light",
|
||||
specs = "zenwritten",
|
||||
palette = require("zenwritten.palette").light,
|
||||
setup = function()
|
||||
vim.opt.background = "light"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "zenwritten_dark",
|
||||
specs = "zenwritten",
|
||||
palette = require("zenwritten.palette").dark,
|
||||
setup = function()
|
||||
vim.opt.background = "dark"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "rosebones_light",
|
||||
specs = "rosebones",
|
||||
palette = require("rosebones.palette").light,
|
||||
setup = function()
|
||||
vim.opt.background = "light"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "rosebones_dark",
|
||||
specs = "rosebones",
|
||||
palette = require("rosebones.palette").dark,
|
||||
setup = function()
|
||||
vim.opt.background = "dark"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "forestbones_light",
|
||||
specs = "forestbones",
|
||||
palette = require("forestbones.palette").light,
|
||||
setup = function()
|
||||
vim.opt.background = "light"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "forestbones_dark",
|
||||
specs = "forestbones",
|
||||
palette = require("forestbones.palette").dark,
|
||||
setup = function()
|
||||
vim.opt.background = "dark"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "tokyobones_light",
|
||||
specs = "tokyobones",
|
||||
palette = require("tokyobones.palette").light,
|
||||
setup = function()
|
||||
vim.opt.background = "light"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "tokyobones_dark",
|
||||
specs = "tokyobones",
|
||||
palette = require("tokyobones.palette").dark,
|
||||
setup = function()
|
||||
vim.opt.background = "dark"
|
||||
end,
|
||||
opt = {
|
||||
exclude = { "vim", "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "nordbones",
|
||||
palette = require("nordbones.palette").dark,
|
||||
opt = {
|
||||
exclude = { "alacritty", "iterm", "kitty", "tmux", "wezterm" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = "vimbones",
|
||||
palette = require "vimbones.palette",
|
||||
opt = {
|
||||
template_opt = {
|
||||
vim = { bg = "light" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local function build_from(config)
|
||||
if config.setup then
|
||||
config.setup()
|
||||
end
|
||||
local specs = config.specs or config.name
|
||||
package.loaded[specs] = nil
|
||||
build(config.name, require(specs), config.palette, config.opt or {})
|
||||
if config.cleanup then
|
||||
config.cleanup()
|
||||
end
|
||||
end
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.run()
|
||||
for _i, config in ipairs(config_set) do
|
||||
build_from(config)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -1,42 +0,0 @@
|
||||
local template = [[# This file is auto-generated from lua/zenbones/template/alacritty.lua
|
||||
# ${name} alacritty colors
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '${bg}'
|
||||
foreground: '${fg}'
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '${color0}'
|
||||
red: '${color1}'
|
||||
green: '${color2}'
|
||||
yellow: '${color3}'
|
||||
blue: '${color4}'
|
||||
magenta: '${color5}'
|
||||
cyan: '${color6}'
|
||||
white: '${color7}'
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '${color8}'
|
||||
red: '${color9}'
|
||||
green: '${color10}'
|
||||
yellow: '${color11}'
|
||||
blue: '${color12}'
|
||||
magenta: '${color13}'
|
||||
cyan: '${color14}'
|
||||
white: '${color15}'
|
||||
]]
|
||||
|
||||
return function(name, specs, p)
|
||||
local term = require("zenbones.term").colors_map(p)
|
||||
local values = {
|
||||
name = name,
|
||||
bg = specs.Normal.bg.hex,
|
||||
fg = specs.Normal.fg.hex,
|
||||
}
|
||||
for i, v in ipairs(term) do
|
||||
values["color" .. (i - 1)] = v.hex
|
||||
end
|
||||
|
||||
return { string.format("extras/alacritty/%s.yml", name), template, values }
|
||||
end
|
||||
@@ -1,89 +0,0 @@
|
||||
local util = require "zenbones.util"
|
||||
|
||||
local key_template = [[
|
||||
<key>${k} Color</key>
|
||||
]]
|
||||
local color_template = [[
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>${b}</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>${g}</real>
|
||||
<key>Red Component</key>
|
||||
<real>${r}</real>
|
||||
</dict>]]
|
||||
|
||||
local start_template = [[<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
]]
|
||||
local end_template = [[
|
||||
|
||||
</dict>
|
||||
</plist>]]
|
||||
|
||||
local function hex_to_rgb(hex)
|
||||
local _, r, g, b = hex:match "(.)(..)(..)(..)"
|
||||
r, g, b =
|
||||
string.format("%0.16f", (tonumber(r, 16) / 255)),
|
||||
string.format("%0.16f", (tonumber(g, 16) / 255)),
|
||||
string.format("%0.16f", (tonumber(b, 16) / 255))
|
||||
return { r = r, g = g, b = b }
|
||||
end
|
||||
|
||||
local function key_to_xml(key, color)
|
||||
local xml = util.interp(key_template, { k = key })
|
||||
local rgb = hex_to_rgb(color.hex)
|
||||
xml = xml .. util.interp(color_template, rgb)
|
||||
return xml
|
||||
end
|
||||
|
||||
return function(name, specs, p)
|
||||
local term = require("zenbones.term").colors_map(p)
|
||||
local colors = {
|
||||
["Ansi 0"] = term[1],
|
||||
["Ansi 1"] = term[2],
|
||||
["Ansi 2"] = term[3],
|
||||
["Ansi 3"] = term[4],
|
||||
["Ansi 4"] = term[5],
|
||||
["Ansi 5"] = term[6],
|
||||
["Ansi 6"] = term[7],
|
||||
["Ansi 7"] = term[8],
|
||||
["Ansi 8"] = term[9],
|
||||
["Ansi 9"] = term[10],
|
||||
["Ansi 10"] = term[11],
|
||||
["Ansi 11"] = term[12],
|
||||
["Ansi 12"] = term[13],
|
||||
["Ansi 13"] = term[14],
|
||||
["Ansi 14"] = term[15],
|
||||
["Ansi 15"] = term[16],
|
||||
Foreground = specs.Normal.fg,
|
||||
Background = specs.Normal.bg,
|
||||
Bold = term[9],
|
||||
Cursor = specs.Cursor.bg,
|
||||
["Cursor Text"] = specs.Cursor.fg,
|
||||
["Cursor Guide"] = specs.CursorLine.bg,
|
||||
Link = term[13],
|
||||
Selection = specs.Visual.bg,
|
||||
["Selected Text"] = specs.Normal.fg,
|
||||
Badge = specs.Comment.fg,
|
||||
Tab = specs.Normal.bg,
|
||||
}
|
||||
|
||||
local template = start_template
|
||||
|
||||
local xml_compiled = {}
|
||||
for k, c in pairs(colors) do
|
||||
table.insert(xml_compiled, key_to_xml(k, c))
|
||||
end
|
||||
|
||||
template = template .. table.concat(vim.fn.sort(xml_compiled), "\n")
|
||||
template = template .. end_template
|
||||
|
||||
return { string.format("extras/iterm/%s.itermcolors", name), template, {} }
|
||||
end
|
||||
@@ -1,65 +0,0 @@
|
||||
local template = [[# This file is auto-generated from lua/zenbones/template/kitty.lua
|
||||
# vim:ft=kitty
|
||||
## name: ${name}
|
||||
## license: MIT
|
||||
## author: Michael Chris Lopez
|
||||
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/${name}.conf
|
||||
|
||||
background ${background}
|
||||
foreground ${foreground}
|
||||
selection_background ${selection_background}
|
||||
selection_foreground ${selection_foreground}
|
||||
url_color ${url_color}
|
||||
cursor ${cursor}
|
||||
|
||||
# Tabs
|
||||
active_tab_background ${active_tab_background}
|
||||
active_tab_foreground ${active_tab_foreground}
|
||||
inactive_tab_background ${inactive_tab_background}
|
||||
inactive_tab_foreground ${inactive_tab_foreground}
|
||||
#tab_bar_background ${tab_bar_background}
|
||||
|
||||
# normal
|
||||
color0 ${color0}
|
||||
color1 ${color1}
|
||||
color2 ${color2}
|
||||
color3 ${color3}
|
||||
color4 ${color4}
|
||||
color5 ${color5}
|
||||
color6 ${color6}
|
||||
color7 ${color7}
|
||||
|
||||
# bright
|
||||
color8 ${color8}
|
||||
color9 ${color9}
|
||||
color10 ${color10}
|
||||
color11 ${color11}
|
||||
color12 ${color12}
|
||||
color13 ${color13}
|
||||
color14 ${color14}
|
||||
color15 ${color15}
|
||||
]]
|
||||
|
||||
return function(name, specs, p)
|
||||
local term = require("zenbones.term").colors_map(p)
|
||||
local bg = specs.Normal.bg.hex
|
||||
local fg = specs.Normal.fg.hex
|
||||
local values = {
|
||||
name = name,
|
||||
background = bg,
|
||||
foreground = fg,
|
||||
selection_background = specs.Visual.bg.hex,
|
||||
selection_foreground = fg,
|
||||
url_color = term[13].hex,
|
||||
cursor = fg,
|
||||
active_tab_background = specs.Search.bg.hex,
|
||||
active_tab_foreground = fg,
|
||||
inactive_tab_background = specs.StatusLine.bg.hex,
|
||||
inactive_tab_foreground = fg,
|
||||
}
|
||||
for i, v in ipairs(term) do
|
||||
values["color" .. (i - 1)] = v.hex
|
||||
end
|
||||
|
||||
return { string.format("extras/kitty/%s.conf", name), template, values }
|
||||
end
|
||||
@@ -1,53 +0,0 @@
|
||||
local template = [[" This file is auto-generated from lua/zenbones/template/lightline.lua
|
||||
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
|
||||
|
||||
let s:p.normal.left = [ [ "${common_fg}", "${normal_a_bg}", "bold" ], [ "${common_fg}", "${normal_b_bg}" ] ]
|
||||
let s:p.normal.middle = [ [ "${normal_c_fg}", "${normal_c_bg}" ] ]
|
||||
let s:p.normal.right = [ [ "${common_fg}", "${normal_b_bg}" ], [ "${common_fg}", "${normal_b_bg}" ] ]
|
||||
let s:p.normal.warning = [ [ "${warning_fg}", "${warning_bg}" ] ]
|
||||
let s:p.normal.error = [ [ "${error_fg}", "${error_bg}" ] ]
|
||||
|
||||
let s:p.inactive.left = [ [ "${inactive_fg}", "${inactive_bg}" ], [ "${inactive_fg}", "${inactive_bg}" ] ]
|
||||
let s:p.inactive.middle = [ [ "${inactive_fg}", "${inactive_bg}" ] ]
|
||||
let s:p.inactive.right = [ [ "${inactive_fg}", "${inactive_bg}" ] ]
|
||||
|
||||
let s:p.insert.left = [ [ "${common_fg}", "${insert_a_bg}", "bold" ], [ "${common_fg}", "${normal_b_bg}" ] ]
|
||||
let s:p.replace.left = [ [ "${common_fg}", "${replace_a_bg}", "bold" ], [ "${common_fg}", "${normal_b_bg}" ] ]
|
||||
let s:p.visual.left = [ [ "${common_fg}", "${visual_a_bg}", "bold" ], [ "${common_fg}", "${normal_b_bg}" ] ]
|
||||
|
||||
let s:p.tabline.left = [ [ "${tabline_left_fg}", "${tabline_left_bg}", "italic" ] ]
|
||||
let s:p.tabline.middle = [ [ "${inactive_fg}", "${inactive_bg}" ] ]
|
||||
let s:p.tabline.right = [ [ "${tabline_right_fg}", "${tabline_right_bg}" ] ]
|
||||
let s:p.tabline.tabsel = [ [ "${tabsel_fg}", "${tabsel_bg}", "bold" ] ]
|
||||
|
||||
let g:lightline#colorscheme#zenbones#palette = lightline#colorscheme#fill(s:p)
|
||||
]]
|
||||
|
||||
return function(name, specs)
|
||||
return {
|
||||
string.format("autoload/lightline/colorscheme/%s.vim", name),
|
||||
template,
|
||||
{
|
||||
common_fg = specs.Folded.fg.hex,
|
||||
inactive_bg = specs.StatusLineNC.bg.hex,
|
||||
inactive_fg = specs.StatusLineNC.fg.hex,
|
||||
normal_a_bg = specs.PmenuSbar.bg.hex,
|
||||
normal_b_bg = specs.PmenuSel.bg.hex,
|
||||
normal_c_bg = specs.StatusLine.bg.hex,
|
||||
normal_c_fg = specs.StatusLine.fg.hex,
|
||||
insert_a_bg = specs.DiffText.bg.hex,
|
||||
visual_a_bg = specs.Visual.bg.hex,
|
||||
replace_a_bg = specs.DiffDelete.bg.hex,
|
||||
tabline_left_bg = specs.PmenuSel.bg.hex,
|
||||
tabline_left_fg = specs.Normal.fg.hex,
|
||||
tabline_right_bg = specs.PmenuSel.bg.hex,
|
||||
tabline_right_fg = specs.Normal.fg.hex,
|
||||
tabsel_bg = specs.Normal.bg.hex,
|
||||
tabsel_fg = specs.Normal.fg.hex,
|
||||
warning_bg = specs.DiagnosticVirtualTextWarn.bg.hex,
|
||||
warning_fg = specs.DiagnosticVirtualTextWarn.fg.hex,
|
||||
error_bg = specs.DiagnosticVirtualTextError.bg.hex,
|
||||
error_fg = specs.DiagnosticVirtualTextError.fg.hex,
|
||||
},
|
||||
}
|
||||
end
|
||||
@@ -1,55 +0,0 @@
|
||||
local template = [[-- This file is auto-generated from lua/zenbones/template/lualine.lua
|
||||
local common_fg = "${common_fg}"
|
||||
local inactive_bg = "${inactive_bg}"
|
||||
local inactive_fg = "${inactive_fg}"
|
||||
|
||||
return {
|
||||
normal = {
|
||||
a = { bg = "${normal_a_bg}", fg = common_fg, gui = "bold" },
|
||||
b = { bg = "${normal_b_bg}", fg = common_fg },
|
||||
c = { bg = "${normal_c_bg}", fg = "${normal_c_fg}" },
|
||||
},
|
||||
|
||||
insert = {
|
||||
a = { bg = "${insert_a_bg}", fg = common_fg, gui = "bold" },
|
||||
},
|
||||
|
||||
command = {
|
||||
a = { bg = "${command_a_bg}", fg = common_fg, gui = "bold" },
|
||||
},
|
||||
|
||||
visual = {
|
||||
a = { bg = "${visual_a_bg}", fg = common_fg, gui = "bold" },
|
||||
},
|
||||
|
||||
replace = {
|
||||
a = { bg = "${replace_a_bg}", fg = common_fg, gui = "bold" },
|
||||
},
|
||||
|
||||
inactive = {
|
||||
a = { bg = inactive_bg, fg = inactive_fg, gui = "bold" },
|
||||
b = { bg = inactive_bg, fg = inactive_fg },
|
||||
c = { bg = inactive_bg, fg = inactive_fg },
|
||||
},
|
||||
}
|
||||
]]
|
||||
|
||||
return function(name, specs)
|
||||
return {
|
||||
string.format("lua/lualine/themes/%s.lua", name),
|
||||
template,
|
||||
{
|
||||
common_fg = specs.Folded.fg.hex,
|
||||
inactive_bg = specs.StatusLineNC.bg.hex,
|
||||
inactive_fg = specs.StatusLineNC.fg.hex,
|
||||
normal_a_bg = specs.PmenuSbar.bg.hex,
|
||||
normal_b_bg = specs.PmenuSel.bg.hex,
|
||||
normal_c_bg = specs.StatusLine.bg.hex,
|
||||
normal_c_fg = specs.StatusLine.fg.hex,
|
||||
insert_a_bg = specs.DiffText.bg.hex,
|
||||
command_a_bg = specs.Search.bg.hex,
|
||||
visual_a_bg = specs.Visual.bg.hex,
|
||||
replace_a_bg = specs.DiffDelete.bg.hex,
|
||||
},
|
||||
}
|
||||
end
|
||||
@@ -1,31 +0,0 @@
|
||||
local template = [[# This file is auto-generated from lua/zenbones/template/tmux.lua
|
||||
set -g status-left ' #[fg=${color5},bold]#{s/root//:client_key_table} '
|
||||
set -g status-right '#[fg=${color5},bold] [#S]#[fg=${color5},bold] [%d/%m] #[fg=${color5},bold][%I:%M%p] '
|
||||
set -g status-style fg='${color5}',bg='${color7}'
|
||||
|
||||
set -g window-status-current-style fg='${color5}',bg='${color7}',bold
|
||||
|
||||
set -g pane-border-style fg='${color5}'
|
||||
set -g pane-active-border-style fg='${color5}'
|
||||
|
||||
set -g message-style fg='${color0}',bg='${selection_background}'
|
||||
|
||||
set -g display-panes-active-colour '${color5}'
|
||||
set -g display-panes-colour '${color5}'
|
||||
|
||||
set -g clock-mode-colour '${color5}'
|
||||
|
||||
set -g mode-style fg='${color0}',bg='${selection_background}'
|
||||
]]
|
||||
|
||||
return function(name, specs, p)
|
||||
local term = require("zenbones.term").colors_map(p)
|
||||
local values = {
|
||||
selection_background = specs.Visual.bg.hex,
|
||||
}
|
||||
for i, v in ipairs(term) do
|
||||
values["color" .. (i - 1)] = v.hex
|
||||
end
|
||||
|
||||
return { string.format("extras/tmux/%s.tmux", name), template, values }
|
||||
end
|
||||
@@ -1,58 +0,0 @@
|
||||
local template = [[" This file is auto-generated from lua/zenbones/template/vim.lua
|
||||
function! ${name}#load()
|
||||
|
||||
${termcolors}
|
||||
${vimcolors}
|
||||
highlight! link StatusLineTerm StatusLine
|
||||
highlight! link StatusLineTermNC StatusLineNC
|
||||
|
||||
if has('terminal')
|
||||
let g:terminal_ansi_colors = [
|
||||
\ g:terminal_color_0,
|
||||
\ g:terminal_color_1,
|
||||
\ g:terminal_color_2,
|
||||
\ g:terminal_color_3,
|
||||
\ g:terminal_color_4,
|
||||
\ g:terminal_color_5,
|
||||
\ g:terminal_color_6,
|
||||
\ g:terminal_color_7,
|
||||
\ g:terminal_color_8,
|
||||
\ g:terminal_color_9,
|
||||
\ g:terminal_color_10,
|
||||
\ g:terminal_color_11,
|
||||
\ g:terminal_color_12,
|
||||
\ g:terminal_color_13,
|
||||
\ g:terminal_color_14,
|
||||
\ g:terminal_color_15
|
||||
\ ]
|
||||
endif
|
||||
|
||||
endfunction
|
||||
]]
|
||||
|
||||
return function(name, specs, p)
|
||||
local lush = require "lush"
|
||||
local term = require("zenbones.term").colors_map(p)
|
||||
local termcolors = ""
|
||||
for i, v in ipairs(term) do
|
||||
termcolors = termcolors .. string.format("let g:terminal_color_%s = '%s'\n", (i - 1), v.hex)
|
||||
end
|
||||
|
||||
-- Compile lush table, concatenate to a single string, and remove blend property
|
||||
local compiled = lush.compile(specs, {
|
||||
exclude_keys = { "blend" },
|
||||
copy_cterm_from_gui = true,
|
||||
})
|
||||
local vimcolors = table.concat(vim.fn.sort(compiled), "\n")
|
||||
|
||||
return {
|
||||
string.format("autoload/%s.vim", name),
|
||||
template,
|
||||
{
|
||||
name = name,
|
||||
specs_path = name,
|
||||
termcolors = termcolors,
|
||||
vimcolors = vimcolors,
|
||||
},
|
||||
}
|
||||
end
|
||||
@@ -1,34 +0,0 @@
|
||||
local template = [[# This file is auto-generated from lua/zenbones/template/wezterm.lua
|
||||
# ${name}
|
||||
[colors]
|
||||
foreground = "${fg}"
|
||||
background = "${bg}"
|
||||
cursor_bg = "${cursor_bg}"
|
||||
cursor_border = "${cursor_border}"
|
||||
cursor_fg = "${cursor_fg}"
|
||||
selection_bg = "${selection_bg}"
|
||||
selection_fg = "${selection_fg}"
|
||||
|
||||
ansi = ["${color0}", "${color1}", "${color2}", "${color3}", "${color4}", "${color5}", "${color6}", "${color7}"]
|
||||
brights = ["${color8}", "${color9}", "${color10}", "${color11}", "${color12}", "${color13}", "${color14}", "${color15}"]
|
||||
]]
|
||||
|
||||
return function(name, specs, p)
|
||||
local term = require("zenbones.term").colors_map(p)
|
||||
|
||||
local values = {
|
||||
name = name:sub(1, 1):upper() .. name:sub(2),
|
||||
fg = specs.Normal.fg.hex,
|
||||
bg = specs.Normal.bg.hex,
|
||||
cursor_bg = specs.Cursor.bg.hex,
|
||||
cursor_border = specs.Cursor.fg.hex,
|
||||
cursor_fg = specs.Cursor.fg.hex,
|
||||
selection_bg = specs.Visual.bg.hex,
|
||||
selection_fg = specs.Normal.fg.hex,
|
||||
}
|
||||
for i, v in ipairs(term) do
|
||||
values["color" .. (i - 1)] = v.hex
|
||||
end
|
||||
|
||||
return { string.format("extras/wezterm/%s.toml", values.name), template, values }
|
||||
end
|
||||
Reference in New Issue
Block a user