From 0a78fb9844e0e249841a84999c2bba757851a71d Mon Sep 17 00:00:00 2001 From: Michael Chris Lopez Date: Sat, 9 Oct 2021 07:55:33 +0800 Subject: [PATCH] use hsluv for rosebones --- colors/rosebones.lua | 5 ++- lua/zenbones/rosebones/init.lua | 4 +-- lua/zenbones/rosebones/palette.lua | 40 +++++++++++----------- lua/zenbones/rosebones/terminal.lua | 53 ++++++++++++++++++++++++++++- lua/zenbones/util.lua | 4 ++- 5 files changed, 81 insertions(+), 25 deletions(-) diff --git a/colors/rosebones.lua b/colors/rosebones.lua index de0ce9a..89efeb6 100644 --- a/colors/rosebones.lua +++ b/colors/rosebones.lua @@ -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) diff --git a/lua/zenbones/rosebones/init.lua b/lua/zenbones/rosebones/init.lua index ad03714..7aac0ab 100644 --- a/lua/zenbones/rosebones/init.lua +++ b/lua/zenbones/rosebones/init.lua @@ -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() diff --git a/lua/zenbones/rosebones/palette.lua b/lua/zenbones/rosebones/palette.lua index 12ad34f..d83355e 100644 --- a/lua/zenbones/rosebones/palette.lua +++ b/lua/zenbones/rosebones/palette.lua @@ -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 diff --git a/lua/zenbones/rosebones/terminal.lua b/lua/zenbones/rosebones/terminal.lua index 6d0afe9..e9e7895 100644 --- a/lua/zenbones/rosebones/terminal.lua +++ b/lua/zenbones/rosebones/terminal.lua @@ -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 diff --git a/lua/zenbones/util.lua b/lua/zenbones/util.lua index d06b95d..ed27974 100644 --- a/lua/zenbones/util.lua +++ b/lua/zenbones/util.lua @@ -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