diff --git a/lua/zenbones/specs/dark.lua b/lua/zenbones/specs/dark.lua index 4140c0a..16d3eef 100644 --- a/lua/zenbones/specs/dark.lua +++ b/lua/zenbones/specs/dark.lua @@ -45,7 +45,7 @@ local function generate(p, opt) ErrorMsg { Error }, -- error messages on the command line WarningMsg { fg = p.wood }, -- warning messages - Comment { fg = Normal.bg.li(opt.lighten_comments or 38).de(24), gui = opt.comment_gui or "italic" }, -- any comment + Comment { fg = Normal.bg.li(opt.lighten_comments or 38).de(24), gui = opt.italic_comments ~= false and "italic" or "NONE" }, -- any comment Conceal { fg = p1.fg5, gui = "bold,italic" }, -- placeholder characters substituted for concealed text (see 'conceallevel') Cursor { bg = p.fg.li(20), fg = p1.bg }, -- character under the cursor diff --git a/lua/zenbones/specs/init.lua b/lua/zenbones/specs/init.lua index f11fe4f..39c5742 100644 --- a/lua/zenbones/specs/init.lua +++ b/lua/zenbones/specs/init.lua @@ -1,12 +1,21 @@ local M = {} +function concat_config(prefix, suffixes) + local config = {} + for i, suffix in ipairs(suffixes) do + config[suffix] = vim.g[prefix .. "_" .. suffix] + end + return config +end + function M.get_global_config(prefix, base_bg) - local common = { - solid_vert_split = vim.g[prefix .. "_solid_vert_split"], - solid_float_border = vim.g[prefix .. "_solid_float_border"], - solid_line_nr = vim.g[prefix .. "_solid_line_nr"], - comment_gui = vim.g[prefix .. "_italic_comments"] ~= false and "italic" or "NONE", - } + local common = concat_config(prefix, { + "solid_vert_split", + "solid_float_border", + "solid_line_nr", + "italic_comments", + }) + if base_bg == "light" then if vim.g[prefix .. "_dim_noncurrent_window"] then vim.notify( @@ -15,21 +24,29 @@ function M.get_global_config(prefix, base_bg) { title = "zenbones" } ) end - return vim.tbl_extend("keep", { - lightness = vim.g[prefix .. "_lightness"], - darken_noncurrent_window = vim.g[prefix .. "_darken_noncurrent_window"], - darken_comments = vim.g[prefix .. "_darken_comments"], - darken_line_nr = vim.g[prefix .. "_darken_line_nr"], - darken_non_text = vim.g[prefix .. "_darken_non_text"], - }, common) + return vim.tbl_extend( + "keep", + concat_config(prefix, { + "lightness", + "darken_noncurrent_window", + "darken_comments", + "darken_line_nr", + "darken_non_text", + }), + common + ) else - return vim.tbl_extend("keep", { - darkness = vim.g[prefix .. "_darkness"], - lighten_noncurrent_window = vim.g[prefix .. "_lighten_noncurrent_window"], - lighten_comments = vim.g[prefix .. "_lighten_comments"], - lighten_line_nr = vim.g[prefix .. "_lighten_line_nr"], - lighten_non_text = vim.g[prefix .. "_lighten_non_text"], - }, common) + return vim.tbl_extend( + "keep", + concat_config(prefix, { + "darkness", + "lighten_noncurrent_window", + "lighten_comments", + "lighten_line_nr", + "lighten_non_text", + }), + common + ) end end diff --git a/lua/zenbones/specs/light.lua b/lua/zenbones/specs/light.lua index 5cb7bee..70b7eed 100644 --- a/lua/zenbones/specs/light.lua +++ b/lua/zenbones/specs/light.lua @@ -45,7 +45,7 @@ local function generate(p, opt) ErrorMsg { Error }, -- error messages on the command line WarningMsg { fg = p.wood }, -- warning messages - Comment { fg = Normal.bg.da(opt.darken_comments or 38).de(28), gui = opt.comment_gui or "italic" }, -- any comment + Comment { fg = Normal.bg.da(opt.darken_comments or 38).de(28), gui = opt.italic_comments ~= false and "italic" or "NONE" }, -- any comment Conceal { fg = p1.fg3, gui = "bold,italic" }, -- placeholder characters substituted for concealed text (see 'conceallevel') Cursor { bg = p.fg, fg = p1.bg }, -- character under the cursor