breaking: palette generator and refactor term
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
vim.g.colors_name = "neobones"
|
||||
|
||||
-- reset specs
|
||||
package.loaded["zenbones.neobones"] = nil
|
||||
|
||||
-- include our theme file and pass it to lush to apply
|
||||
require "lush"(require "zenbones.neobones")
|
||||
|
||||
local base_name = require("zenbones.util").bg_to_base_name()
|
||||
require("zenbones.neobones.term").setup(base_name)
|
||||
local util = require "zenbones.util"
|
||||
local base_name = util.bg_to_base_name()
|
||||
local p = require("zenbones.neobones.palette")[base_name]
|
||||
require("zenbones.term").apply_colors(p)
|
||||
|
||||
@@ -3,11 +3,10 @@ vim.g.colors_name = "rosebones"
|
||||
-- reset specs
|
||||
package.loaded["zenbones.rosebones"] = nil
|
||||
|
||||
local util = require "zenbones.util"
|
||||
local base_name = util.bg_to_base_name()
|
||||
|
||||
-- include our theme file and pass it to lush to apply
|
||||
require "lush"(require "zenbones.rosebones")
|
||||
|
||||
local base_name = require("zenbones.util").bg_to_base_name()
|
||||
require("zenbones.rosebones.term").setup(base_name)
|
||||
local util = require "zenbones.util"
|
||||
local base_name = util.bg_to_base_name()
|
||||
local p = require("zenbones.rosebones.palette")[base_name]
|
||||
require("zenbones.term").apply_colors(p)
|
||||
|
||||
@@ -1,14 +1,35 @@
|
||||
local util = require "zenbones.util"
|
||||
|
||||
local function build()
|
||||
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()
|
||||
-- default
|
||||
package.loaded["zenbones"] = nil
|
||||
util.build("zenbones", require "zenbones", require "zenbones.palette", require("zenbones.term").colors, {})
|
||||
local p = require "zenbones.palette"
|
||||
build("zenbones", require "zenbones", p, require("zenbones.term").colors, {})
|
||||
|
||||
-- bright
|
||||
package.loaded["zenbones"] = nil
|
||||
vim.g.zenbones_lightness = "bright"
|
||||
util.build(
|
||||
build(
|
||||
"zenbones_bright",
|
||||
require "zenbones",
|
||||
require "zenbones.palette",
|
||||
@@ -20,7 +41,7 @@ local function build()
|
||||
-- dim
|
||||
package.loaded["zenbones"] = nil
|
||||
vim.g.zenbones_lightness = "dim"
|
||||
util.build(
|
||||
build(
|
||||
"zenbones_dim",
|
||||
require "zenbones",
|
||||
require "zenbones.palette",
|
||||
@@ -31,12 +52,12 @@ local function build()
|
||||
|
||||
-- default
|
||||
package.loaded["zenflesh"] = nil
|
||||
util.build("zenflesh", require "zenflesh", require "zenflesh.palette", require("zenflesh.term").colors, {})
|
||||
build("zenflesh", require "zenflesh", require "zenflesh.palette", require("zenflesh.term").colors, {})
|
||||
|
||||
-- stark
|
||||
package.loaded["zenflesh"] = nil
|
||||
vim.g.zenflesh_darkness = "stark"
|
||||
util.build(
|
||||
build(
|
||||
"zenflesh_stark",
|
||||
require "zenflesh",
|
||||
require "zenflesh.palette",
|
||||
@@ -48,7 +69,7 @@ local function build()
|
||||
-- warm
|
||||
package.loaded["zenflesh"] = nil
|
||||
vim.g.zenflesh_darkness = "warm"
|
||||
util.build(
|
||||
build(
|
||||
"zenflesh_warm",
|
||||
require "zenflesh",
|
||||
require "zenflesh.palette",
|
||||
@@ -60,7 +81,7 @@ local function build()
|
||||
-- neobones light
|
||||
package.loaded["zenbones.neobones"] = nil
|
||||
vim.opt.background = "light"
|
||||
util.build(
|
||||
build(
|
||||
"neobones_light",
|
||||
require "zenbones.neobones",
|
||||
require "zenbones.neobones.palette",
|
||||
@@ -71,7 +92,7 @@ local function build()
|
||||
-- neobones dark
|
||||
package.loaded["zenbones.neobones"] = nil
|
||||
vim.opt.background = "dark"
|
||||
util.build(
|
||||
build(
|
||||
"neobones_dark",
|
||||
require "zenbones.neobones",
|
||||
require "zenbones.neobones.palette",
|
||||
@@ -80,4 +101,4 @@ local function build()
|
||||
)
|
||||
end
|
||||
|
||||
return { build = build }
|
||||
return M
|
||||
|
||||
@@ -1,23 +1,20 @@
|
||||
local util = require "zenbones.util"
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv
|
||||
|
||||
local M = {}
|
||||
|
||||
local zenbones_p = require "zenbones.palette"
|
||||
local zenbones = vim.tbl_extend("keep", {
|
||||
M.zenbones = util.palette_extend({
|
||||
-- bg = hsluv "#d3e4db" -- --accent-bg-color
|
||||
bg = hsluv "#e7eee8", -- --bg-color
|
||||
fg = hsluv "#202e18", -- --accent-color
|
||||
leaf = hsluv "#8fff6d", -- need to make green more prominent
|
||||
leaf = zenbones_p.leaf.sa(24).li(8), -- need to make green more prominent
|
||||
}, zenbones_p)
|
||||
M.zenbones = zenbones
|
||||
}, "zenbones")
|
||||
M.zenbones.leaf = M.zenbones.leaf.sa(24).li(8) -- need to make green more prominent
|
||||
|
||||
local zenflesh = vim.tbl_extend("keep", {
|
||||
M.zenflesh = util.palette_extend({
|
||||
bg = hsluv "#0f191f", -- --bg-color
|
||||
fg = hsluv "#c7d6d0", -- --fg-color
|
||||
leaf = hsluv "#8fff6d", -- --accent-color
|
||||
}, require "zenflesh.palette")
|
||||
M.zenflesh = zenflesh
|
||||
}, "zenflesh")
|
||||
|
||||
return M
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
local palette = require "zenbones.neobones.palette"
|
||||
|
||||
local M = { colors = {} }
|
||||
|
||||
local p = palette.zenbones
|
||||
M.colors.zenbones = {
|
||||
p.bg,
|
||||
p.rose,
|
||||
p.leaf,
|
||||
p.wood,
|
||||
p.water,
|
||||
p.blossom,
|
||||
p.sky,
|
||||
p.fg,
|
||||
p.bg.sa(4).da(16),
|
||||
p.rose.sa(20).da(16),
|
||||
p.leaf.sa(20).da(16),
|
||||
p.wood.sa(18).da(16),
|
||||
p.water.sa(20).da(16),
|
||||
p.blossom.sa(24).da(16),
|
||||
p.sky.sa(20).da(16),
|
||||
p.fg.li(22),
|
||||
}
|
||||
|
||||
p = palette.zenflesh
|
||||
M.colors.zenflesh = {
|
||||
p.bg,
|
||||
p.rose,
|
||||
p.leaf,
|
||||
p.wood,
|
||||
p.water,
|
||||
p.blossom,
|
||||
p.sky,
|
||||
p.fg,
|
||||
p.bg.sa(4).li(16),
|
||||
p.rose.sa(20).li(16),
|
||||
p.leaf.sa(20).li(16),
|
||||
p.wood.sa(18).li(16),
|
||||
p.water.sa(20).li(16),
|
||||
p.blossom.sa(24).li(16),
|
||||
p.sky.sa(20).li(16),
|
||||
p.fg.da(22),
|
||||
}
|
||||
|
||||
function M.setup(base_name)
|
||||
for i, v in ipairs(M.colors[base_name]) do
|
||||
vim.g["terminal_color_" .. (i - 1)] = v.hex
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -1,18 +1,5 @@
|
||||
local util = require "zenbones.util"
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv
|
||||
|
||||
local palette = {
|
||||
bg = hsluv(39, 12, 94), -- sand
|
||||
fg = hsluv(230, 30, 22), -- stone
|
||||
leaf = hsluv(112, 72, 42),
|
||||
water = hsluv(236, 84, 40),
|
||||
rose = hsluv(4, 70, 40),
|
||||
wood = hsluv(26, 80, 40),
|
||||
blossom = hsluv(318, 42, 42),
|
||||
sky = hsluv(204, 80, 53),
|
||||
}
|
||||
|
||||
palette.bg_bright = palette.bg.abs_li(3).sa(6)
|
||||
palette.bg_dim = palette.bg.abs_da(3).de(12)
|
||||
|
||||
return palette
|
||||
return util.palette_extend({}, "zenbones")
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
local util = require "zenbones.util"
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv
|
||||
|
||||
local M = {}
|
||||
|
||||
local zenbones = {
|
||||
M.zenbones = util.palette_extend({
|
||||
bg = hsluv(57.9, 49.8, 96.5), -- base
|
||||
fg = hsluv(14.5, 32, 36), -- rose, base: 14.5, 51.1, 63.3
|
||||
rose = hsluv(355.6, 38.5, 51.9), -- love
|
||||
@@ -13,13 +14,11 @@ local zenbones = {
|
||||
blossom = hsluv(283.8, 30.2, 54.8), -- iris
|
||||
sky = hsluv(208.6, 65.3, 57.7), -- foam
|
||||
text = hsluv(270.1, 22.9, 36.8), -- text, base: 270.1, 22.9, 36.8
|
||||
}
|
||||
zenbones.bg_bright = zenbones.bg.abs_li(3).sa(6)
|
||||
zenbones.bg_dim = zenbones.bg.abs_da(3)
|
||||
M.zenbones = zenbones
|
||||
}, "zenbones")
|
||||
|
||||
local zenflesh = {
|
||||
M.zenflesh = util.palette_extend({
|
||||
bg = hsluv(271.2, 20.2, 8.5), -- base
|
||||
bg_warm = hsluv(268.9, 24.5, 13.9), -- base moon
|
||||
fg = hsluv(14.8, 21, 82), -- rose, base: 2, 55, 83
|
||||
rose = hsluv(357.2, 75.7, 62.6), -- love
|
||||
leaf = hsluv(227.7, 81.8, 45.8), -- pine
|
||||
@@ -28,9 +27,6 @@ local zenflesh = {
|
||||
blossom = hsluv(283.1, 67.3, 73), -- iris
|
||||
sky = hsluv(206.7, 42.9, 80), -- foam
|
||||
text = hsluv(269.4, 56, 89.2), -- text, base: 269.4, 63.6, 89.2
|
||||
}
|
||||
zenflesh.bg_stark = zenflesh.bg.abs_da(3).sa(8)
|
||||
zenflesh.bg_warm = hsluv(268.9, 24.5, 13.9) -- base moon
|
||||
M.zenflesh = zenflesh
|
||||
}, "zenflesh")
|
||||
|
||||
return M
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
local palette = require "zenbones.rosebones.palette"
|
||||
|
||||
local M = { colors = {} }
|
||||
|
||||
local p = palette.zenbones
|
||||
M.colors.zenbones = {
|
||||
p.bg,
|
||||
p.rose,
|
||||
p.leaf,
|
||||
p.wood,
|
||||
p.water,
|
||||
p.blossom,
|
||||
p.sky,
|
||||
p.fg,
|
||||
p.bg.sa(4).da(16),
|
||||
p.rose.sa(20).da(16),
|
||||
p.leaf.sa(20).da(16),
|
||||
p.wood.sa(18).da(16),
|
||||
p.water.sa(20).da(16),
|
||||
p.blossom.sa(24).da(16),
|
||||
p.sky.sa(20).da(16),
|
||||
p.fg.li(22),
|
||||
}
|
||||
|
||||
p = palette.zenflesh
|
||||
M.colors.zenflesh = {
|
||||
p.bg,
|
||||
p.rose,
|
||||
p.leaf,
|
||||
p.wood,
|
||||
p.water,
|
||||
p.blossom,
|
||||
p.sky,
|
||||
p.fg,
|
||||
p.bg.sa(4).li(16),
|
||||
p.rose.sa(20).li(16),
|
||||
p.leaf.sa(20).li(16),
|
||||
p.wood.sa(18).li(16),
|
||||
p.water.sa(20).li(16),
|
||||
p.blossom.sa(24).li(16),
|
||||
p.sky.sa(20).li(16),
|
||||
p.fg.da(22),
|
||||
}
|
||||
|
||||
function M.setup(base_name)
|
||||
for i, v in ipairs(M.colors[base_name]) do
|
||||
vim.g["terminal_color_" .. (i - 1)] = v.hex
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -1,6 +1,7 @@
|
||||
local p = require "zenbones.palette"
|
||||
local M = {}
|
||||
|
||||
local colors = {
|
||||
function M.colors_map(p)
|
||||
return {
|
||||
p.bg,
|
||||
p.rose,
|
||||
p.leaf,
|
||||
@@ -9,21 +10,19 @@ local colors = {
|
||||
p.blossom,
|
||||
p.sky,
|
||||
p.fg,
|
||||
p.bg.sa(4).da(16),
|
||||
p.rose.sa(20).da(16),
|
||||
p.leaf.sa(20).da(16),
|
||||
p.wood.sa(18).da(16),
|
||||
p.water.sa(20).da(16),
|
||||
p.blossom.sa(24).da(16),
|
||||
p.sky.sa(20).da(16),
|
||||
p.fg.li(22),
|
||||
p.bg1,
|
||||
p.rose1,
|
||||
p.leaf1,
|
||||
p.wood1,
|
||||
p.water1,
|
||||
p.blossom1,
|
||||
p.sky1,
|
||||
p.fg1,
|
||||
}
|
||||
end
|
||||
|
||||
local M = {}
|
||||
|
||||
M.colors = colors
|
||||
|
||||
function M.setup()
|
||||
function M.apply_colors(p)
|
||||
local colors = M.colors_map(p)
|
||||
for i, v in ipairs(colors) do
|
||||
vim.g["terminal_color_" .. (i - 1)] = v.hex
|
||||
end
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv
|
||||
local M = {}
|
||||
|
||||
-- got from http://lua-users.org/wiki/StringInterpolation
|
||||
@@ -11,24 +13,6 @@ function M.bg_to_base_name()
|
||||
return vim.opt.background:get() == "light" and "zenbones" or "zenflesh"
|
||||
end
|
||||
|
||||
local function write_template(path, template, values)
|
||||
print("[write template] " .. path)
|
||||
local content = M.interp(template, values)
|
||||
local file = io.open(path, "w")
|
||||
file:write(content)
|
||||
file:close()
|
||||
end
|
||||
|
||||
function M.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
|
||||
|
||||
function M.resolve_config(base_name)
|
||||
if base_name == "zenbones" then
|
||||
return {
|
||||
@@ -49,4 +33,58 @@ function M.resolve_config(base_name)
|
||||
end
|
||||
end
|
||||
|
||||
function M.palette_extend(p, base_name)
|
||||
if base_name == "zenbones" then
|
||||
p = vim.tbl_extend("keep", p, {
|
||||
bg = hsluv(39, 12, 94), -- sand
|
||||
fg = hsluv(230, 30, 22), -- stone
|
||||
leaf = hsluv(112, 72, 42),
|
||||
water = hsluv(236, 84, 40),
|
||||
rose = hsluv(4, 70, 40),
|
||||
wood = hsluv(26, 80, 40),
|
||||
blossom = hsluv(318, 42, 42),
|
||||
sky = hsluv(204, 80, 53),
|
||||
})
|
||||
return vim.tbl_extend("keep", p, {
|
||||
bg1 = p.bg.sa(4).da(16),
|
||||
bg_bright = p.bg.abs_li(3).sa(6),
|
||||
bg_dim = p.bg.abs_da(3).de(12),
|
||||
rose1 = p.rose.sa(20).da(16),
|
||||
leaf1 = p.leaf.sa(20).da(16),
|
||||
wood1 = p.wood.sa(18).da(16),
|
||||
water1 = p.water.sa(20).da(16),
|
||||
blossom1 = p.blossom.sa(24).da(16),
|
||||
sky1 = p.sky.sa(20).da(16),
|
||||
fg1 = p.fg.li(22),
|
||||
})
|
||||
elseif base_name == "zenflesh" then
|
||||
-- default
|
||||
p = vim.tbl_extend("keep", p, {
|
||||
bg = hsluv(39, 9, 9), -- sand
|
||||
fg = hsluv(230, 10, 76), -- stone
|
||||
rose = hsluv(6, 62, 60),
|
||||
leaf = hsluv(111, 47, 61),
|
||||
wood = hsluv(32, 47, 58),
|
||||
water = hsluv(236, 64, 61),
|
||||
blossom = hsluv(318, 32, 58),
|
||||
sky = hsluv(204, 61, 64),
|
||||
})
|
||||
-- extended
|
||||
return vim.tbl_extend("keep", p, {
|
||||
bg1 = p.bg.sa(4).li(16),
|
||||
bg_stark = p.bg.abs_da(3).sa(8),
|
||||
bg_warm = p.bg.abs_li(3).de(12),
|
||||
rose1 = p.rose.sa(20).li(16),
|
||||
leaf1 = p.leaf.sa(20).li(16),
|
||||
wood1 = p.wood.sa(18).li(16),
|
||||
water1 = p.water.sa(20).li(16),
|
||||
blossom1 = p.blossom.sa(24).li(16),
|
||||
sky1 = p.sky.sa(20).li(16),
|
||||
fg1 = p.fg.da(22),
|
||||
})
|
||||
else
|
||||
error "Unknown base_name"
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
local util = require "zenbones.util"
|
||||
local specs = require "zenflesh.specs"
|
||||
local p = require "zenflesh.palette"
|
||||
local config = require("zenbones.util").resolve_config "zenflesh"
|
||||
local config = util.resolve_config "zenflesh"
|
||||
|
||||
return specs.generate(p, config)
|
||||
|
||||
@@ -1,18 +1,5 @@
|
||||
local util = require "zenbones.util"
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv
|
||||
|
||||
local palette = {
|
||||
bg = hsluv(39, 9, 9), -- sand
|
||||
fg = hsluv(230, 10, 76), -- stone
|
||||
rose = hsluv(6, 62, 60),
|
||||
leaf = hsluv(111, 47, 61),
|
||||
wood = hsluv(32, 47, 58),
|
||||
water = hsluv(236, 64, 61),
|
||||
blossom = hsluv(318, 32, 58),
|
||||
sky = hsluv(204, 61, 64),
|
||||
}
|
||||
|
||||
palette.bg_stark = palette.bg.abs_da(3).sa(8)
|
||||
palette.bg_warm = palette.bg.abs_li(3).de(12)
|
||||
|
||||
return palette
|
||||
return util.palette_extend({}, "zenflesh")
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
local p = require "zenflesh.palette"
|
||||
|
||||
local colors = {
|
||||
p.bg,
|
||||
p.rose,
|
||||
p.leaf,
|
||||
p.wood,
|
||||
p.water,
|
||||
p.blossom,
|
||||
p.sky,
|
||||
p.fg,
|
||||
p.bg.sa(4).li(16),
|
||||
p.rose.sa(20).li(16),
|
||||
p.leaf.sa(20).li(16),
|
||||
p.wood.sa(18).li(16),
|
||||
p.water.sa(20).li(16),
|
||||
p.blossom.sa(24).li(16),
|
||||
p.sky.sa(20).li(16),
|
||||
p.fg.da(22),
|
||||
}
|
||||
|
||||
local M = {}
|
||||
|
||||
M.colors = colors
|
||||
|
||||
function M.setup()
|
||||
for i, v in ipairs(colors) do
|
||||
vim.g["terminal_color_" .. (i - 1)] = v.hex
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user