use hsluv for rosebones

This commit is contained in:
Michael Chris Lopez
2021-10-09 07:55:33 +08:00
parent 6edb6b666e
commit 0a78fb9844
5 changed files with 81 additions and 25 deletions

View File

@@ -3,7 +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")
-- require("zenbones.rosebones.terminal").setup()
require("zenbones.rosebones.terminal").setup(base_name)

View File

@@ -2,9 +2,9 @@ local lush = require "lush"
local util = require "zenbones.util"
local base_name = util.bg_to_base_name()
local p = require "zenbones.rosebones.palette"
local p = require("zenbones.rosebones.palette")[base_name]
local specs = require(base_name .. ".specs").generate(p[base_name], util.resolve_config(base_name))
local specs = require(base_name .. ".specs").generate(p, util.resolve_config(base_name))
-- extend specs using Lush
return lush.extends({ specs }).with(function()

View File

@@ -1,36 +1,36 @@
local lush = require "lush"
local hsl = lush.hsl
local hsluv = lush.hsluv
local M = {}
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
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
leaf = hsluv(228.3, 84.5, 41.5), -- pine
wood = hsluv(45.4, 90.6, 70.8), -- gold
water = hsluv(208.6, 65.3, 57.7), -- foam
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
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
bg = hsluv(271.2, 20.2, 8.5), -- base
fg = hsluv(14.8, 24, 78.3), -- rose, base: 2, 55, 83
rose = hsluv(357.2, 75.7, 62.6), -- love
leaf = hsluv(227.7, 81.8, 45.8), -- pine
wood = hsluv(53.2, 78.8, 81.3), -- gold
water = hsluv(206.7, 42.9, 80), -- foam
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 = hsl(246, 24, 17) -- base moon
zenflesh.bg_warm = hsluv(268.9, 24.5, 13.9) -- base moon
M.zenflesh = zenflesh
return M

View File

@@ -1 +1,52 @@
return require(require("zenbones.util").bg_to_base_name() .. ".terminal")
local palette = require "zenbones.rosebones.palette"
local M = {}
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

View File

@@ -37,13 +37,15 @@ function M.resolve_config(base_name)
dim_noncurrent_window = vim.g.zenbones_dim_noncurrent_window,
solid_vert_split = vim.g.zenbones_solid_vert_split,
}
else
elseif base_name == "zenflesh" then
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,
}
else
error "Unknown base_name"
end
end