convert rosebones to new specs generator

This commit is contained in:
Michael Chris Lopez
2021-10-08 17:49:38 +08:00
parent e98281e063
commit 6edb6b666e
6 changed files with 64 additions and 59 deletions

View File

@@ -1,14 +1,9 @@
vim.g.colors_name = "rosebones"
local base_name = require("zenbones.util").bg_to_base_name()
-- reset base palette and specs
package.loaded[base_name .. ".palette"] = nil
package.loaded[base_name] = nil
package.loaded["zenbones.rosebones.palette"] = nil
-- reset specs
package.loaded["zenbones.rosebones"] = nil
-- include our theme file and pass it to lush to apply
require "lush"(require "zenbones.rosebones")
require("zenbones.rosebones.terminal").setup()
-- require("zenbones.rosebones.terminal").setup()

View File

@@ -1,9 +1,5 @@
local specs = require "zenbones.specs"
local p = require "zenbones.palette"
local config = require("zenbones.util").resolve_config "zenbones"
return specs.generate(p, {
lightness = vim.g.zenbones_lightness,
comment_gui = vim.g.zenbones_italic_comments ~= false and "italic" or "NONE",
dim_noncurrent_window = vim.g.zenbones_dim_noncurrent_window,
solid_vert_split = vim.g.zenbones_solid_vert_split,
})
return specs.generate(p, config)

View File

@@ -1,18 +1,16 @@
local lush = require "lush"
local util = require "zenbones.util"
-- modify base palette (before requiring specs)
local palette = require "zenbones.rosebones.palette"
local base_name = util.bg_to_base_name()
local p = require "zenbones.rosebones.palette"
local specs = require(base_name .. ".specs").generate(p[base_name], util.resolve_config(base_name))
-- extend specs using Lush
local base_name = require("zenbones.util").bg_to_base_name()
local theme = require(base_name)
local specs = lush.extends({ theme }).with(function()
return lush.extends({ specs }).with(function()
return {
Statement { fg = palette.leaf, gui = "bold" },
Special { fg = palette.water, gui = "bold" },
Type { fg = palette.text },
Statement { fg = p.leaf, gui = "bold" },
Special { fg = p.water, gui = "bold" },
Type { fg = p.text },
}
end)
return specs

View File

@@ -1,33 +1,36 @@
local lush = require "lush"
local hsl = lush.hsl
local base_name = require("zenbones.util").bg_to_base_name()
local palette = require(base_name .. ".palette")
local M = {}
if base_name == "zenbones" then
palette.bg = hsl(32, 57, 95) -- base
palette.bg_bright = palette.bg.abs_li(3).sa(6)
palette.bg_dim = palette.bg.abs_da(3)
palette.fg = hsl(3, 24, 38) -- rose, base: 3, 53, 67
palette.rose = hsl(343, 35, 55) -- love
palette.leaf = hsl(197, 53, 34) -- pine
palette.wood = hsl(35, 81, 56) -- gold
palette.water = hsl(189, 30, 48) -- foam
palette.blossom = hsl(268, 21, 57) -- iris
palette.sky = hsl(189, 30, 48) -- foam
palette.text = hsl(248, 12, 40) -- text, base: 248, 19, 40
else
palette.bg = hsl(249, 22, 12) -- base
palette.bg_stark = palette.bg.abs_da(3).sa(8)
palette.bg_warm = hsl(246, 24, 17) -- base moon
palette.fg = hsl(2, 18, 83) -- rose, base: 2, 55, 83
palette.rose = hsl(343, 76, 68) -- love
palette.leaf = hsl(197, 49, 38) -- pine
palette.wood = hsl(35, 88, 72) -- gold
palette.water = hsl(189, 43, 73) -- foam
palette.blossom = hsl(267, 57, 78) -- iris
palette.sky = hsl(190, 15, 73) -- foam
palette.text = hsl(245, 20, 78) -- text, base: 245, 50, 91
end
local zenbones = {
bg = hsl(32, 57, 95), -- base
fg = hsl(3, 24, 38), -- rose, base: 3, 53, 67
rose = hsl(343, 35, 55), -- love
leaf = hsl(197, 53, 34), -- pine
wood = hsl(35, 81, 56), -- gold
water = hsl(189, 30, 48), -- foam
blossom = hsl(268, 21, 57), -- iris
sky = hsl(189, 30, 48), -- foam
text = hsl(248, 12, 40), -- text, base: 248, 19, 40
}
zenbones.bg_bright = zenbones.bg.abs_li(3).sa(6)
zenbones.bg_dim = zenbones.bg.abs_da(3)
M.zenbones = zenbones
return palette
local zenflesh = {
bg = hsl(249, 22, 12), -- base
fg = hsl(2, 18, 83), -- rose, base: 2, 55, 83
rose = hsl(343, 76, 68), -- love
leaf = hsl(197, 49, 38), -- pine
wood = hsl(35, 88, 72), -- gold
water = hsl(189, 43, 73), -- foam
blossom = hsl(267, 57, 78), -- iris
sky = hsl(190, 15, 73), -- foam
text = hsl(245, 20, 78), -- text, base: 245, 50, 91
}
zenflesh.bg_stark = zenflesh.bg.abs_da(3).sa(8)
zenflesh.bg_warm = hsl(246, 24, 17) -- base moon
M.zenflesh = zenflesh
return M

View File

@@ -29,4 +29,22 @@ function M.build(name, specs, palette, terminal, options)
end
end
function M.resolve_config(base_name)
if base_name == "zenbones" then
return {
lightness = vim.g.zenbones_lightness,
comment_gui = vim.g.zenbones_italic_comments ~= false and "italic" or "NONE",
dim_noncurrent_window = vim.g.zenbones_dim_noncurrent_window,
solid_vert_split = vim.g.zenbones_solid_vert_split,
}
else
return {
darkness = vim.g.zenflesh_darkness,
comment_gui = vim.g.zenflesh_italic_comments ~= false and "italic" or "NONE",
lighten_noncurrent_window = vim.g.zenflesh_lighten_noncurrent_window,
solid_vert_split = vim.g.zenflesh_solid_vert_split,
}
end
end
return M

View File

@@ -1,10 +1,5 @@
local specs = require "zenflesh.specs"
local p = require "zenflesh.palette"
local config = require("zenbones.util").resolve_config "zenflesh"
return specs.generate(p, {
darkness = vim.g.zenflesh_darkness,
comment_gui = vim.g.zenflesh_italic_comments ~= false and "italic" or "NONE",
lighten_noncurrent_window = vim.g.zenflesh_lighten_noncurrent_window,
solid_vert_split = vim.g.zenflesh_solid_vert_split,
})
-- vi:nowrap
return specs.generate(p, config)