From acbe7c0e839edbf9f89170e37b7cea09e5d92d25 Mon Sep 17 00:00:00 2001 From: siduck Date: Sat, 22 Jul 2023 22:23:26 +0530 Subject: [PATCH] feat: allow changing color lightness for hl_override/add colors --- lua/base46/init.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lua/base46/init.lua b/lua/base46/init.lua index f64289d..0170fa8 100644 --- a/lua/base46/init.lua +++ b/lua/base46/init.lua @@ -23,6 +23,8 @@ M.merge_tb = function(...) return vim.tbl_deep_extend("force", ...) end +local change_hex_lightness = require("base46.colors").change_hex_lightness + -- turns color var names in hl_override/hl_add to actual colors -- hl_add = { abc = { bg = "one_bg" }} -> bg = colors.one_bg M.turn_str_to_color = function(tb) @@ -31,10 +33,10 @@ M.turn_str_to_color = function(tb) for _, hlgroups in pairs(copy) do for opt, val in pairs(hlgroups) do - if - (opt == "fg" or opt == "bg" or opt == "sp") and not (val:sub(1, 1) == "#" or val == "none" or val == "NONE") - then - hlgroups[opt] = colors[val] + if opt == "fg" or opt == "bg" or opt == "sp" then + if not (type(val) == "string" and val:sub(1, 1) == "#" or val == "none" or val == "NONE") then + hlgroups[opt] = type(val) == "table" and change_hex_lightness(colors[val[1]], val[2]) or colors[val] + end end end end