diff options
Diffstat (limited to 'lua')
-rw-r--r-- | lua/no-clown-fiesta/highlight-group/treesitter.lua | 34 | ||||
-rw-r--r-- | lua/no-clown-fiesta/highlights.lua | 24 |
2 files changed, 45 insertions, 13 deletions
diff --git a/lua/no-clown-fiesta/highlight-group/treesitter.lua b/lua/no-clown-fiesta/highlight-group/treesitter.lua index 05ba713..0aad575 100644 --- a/lua/no-clown-fiesta/highlight-group/treesitter.lua +++ b/lua/no-clown-fiesta/highlight-group/treesitter.lua @@ -1,20 +1,32 @@ local M = {} -local unpack = table.unpack +local unpack = unpack function M.highlight(palette, options) return { - ["@comment"] = { fg = palette.medium_gray, unpack(options.style.comments) }, + ["@comment"] = vim.tbl_extend( + "force", + { fg = palette.medium_gray }, + options.style.comments + ), ["@annotation"] = { fg = palette.white }, ["@attribute"] = { fg = palette.white }, ["@constructor"] = { fg = palette.cyan }, - ["@type"] = { fg = palette.white, unpack(options.style.type) }, + ["@type"] = vim.tbl_extend("force", { fg = palette.white }, options.style.type), ["@type.builtin"] = { fg = palette.white }, ["@conditional"] = { fg = palette.gray_blue }, ["@exception"] = { fg = palette.red }, ["@include"] = { fg = palette.red }, - ["@keyword"] = { fg = palette.gray_blue, unpack(options.style.keywords) }, - ["@keyword.function"] = { fg = palette.gray_blue, unpack(options.style.keywords) }, + ["@keyword"] = vim.tbl_extend( + "force", + { fg = palette.gray_blue }, + options.style.keywords + ), + ["@keyword.function"] = vim.tbl_extend( + "force", + { fg = palette.gray_blue }, + options.style.keywords + ), ["@label"] = { fg = palette.white }, ["@namespace"] = { fg = palette.white }, ["@repeat"] = { fg = palette.gray_blue }, @@ -25,12 +37,20 @@ function M.highlight(palette, options) ["@boolean"] = { fg = palette.red }, ["@character"] = { fg = palette.light_green }, ["@error"] = { fg = palette.error_red }, - ["@function"] = { fg = palette.cyan, unpack(options.style.functions) }, + ["@function"] = vim.tbl_extend( + "force", + { fg = palette.cyan }, + options.style.functions + ), ["@function.builtin"] = { fg = palette.cyan }, ["@method"] = { fg = palette.cyan }, ["@const.macro"] = { fg = palette.cyan }, ["@function.macro"] = { fg = palette.cyan }, - ["@variable"] = { fg = palette.white, unpack(options.style.variables) }, + ["@variable"] = vim.tbl_extend( + "force", + { fg = palette.white }, + options.style.variables + ), ["@variable.builtin"] = { fg = palette.white }, ["@property"] = { fg = palette.white }, ["@operator"] = { fg = palette.white }, diff --git a/lua/no-clown-fiesta/highlights.lua b/lua/no-clown-fiesta/highlights.lua index 5efc1a9..5ed6169 100644 --- a/lua/no-clown-fiesta/highlights.lua +++ b/lua/no-clown-fiesta/highlights.lua @@ -19,7 +19,11 @@ function M.highlight(palette, options) PmenuSel = { fg = palette.blue, bg = palette.alt_bg }, WildMenu = { fg = palette.blue, bg = palette.alt_bg }, CursorLineNr = { fg = palette.light_gray, style = "bold" }, - Comment = { fg = palette.medium_gray, unpack(options.style.comments) }, + Comment = vim.tbl_extend( + "force", + { fg = palette.medium_gray }, + options.style.comments + ), Folded = { fg = palette.light_gray, bg = palette.alt_bg }, FoldColumn = { fg = palette.light_gray, bg = palette.alt_bg }, LineNr = { fg = palette.gray }, @@ -63,7 +67,7 @@ function M.highlight(palette, options) Question = { fg = palette.cyan }, EndOfBuffer = { fg = palette.bg }, NonText = { fg = palette.bg }, - Variable = { fg = palette.white, unpack(options.style.variables) }, + Variable = vim.tbl_extend("force", { fg = palette.white }, options.style.variables), String = { fg = palette.medium_gray_blue }, Character = { fg = palette.light_green }, Constant = { fg = palette.white }, @@ -71,13 +75,17 @@ function M.highlight(palette, options) Boolean = { fg = palette.red }, Float = { fg = palette.red }, Identifier = { fg = palette.white }, - Function = { fg = palette.cyan, unpack(options.style.functions) }, + Function = vim.tbl_extend("force", { fg = palette.cyan }, options.style.functions), Operator = { fg = palette.white }, - Type = { fg = palette.white, unpack(options.style.type) }, + Type = vim.tbl_extend("force", { fg = palette.white }, options.style.type), StorageClass = { fg = palette.gray_blue }, Structure = { fg = palette.gray_blue }, Typedef = { fg = palette.white }, - Keyword = { fg = palette.gray_blue, unpack(options.style.keywords) }, + Keyword = vim.tbl_extend( + "force", + { fg = palette.gray_blue }, + options.style.keywords + ), Statement = { fg = palette.gray_blue }, Conditional = { fg = palette.gray_blue }, Repeat = { fg = palette.gray_blue }, @@ -93,7 +101,11 @@ function M.highlight(palette, options) Tag = { fg = palette.pale_purple }, Debug = { fg = palette.red }, Delimiter = { fg = palette.white }, - SpecialComment = { fg = palette.medium_gray, unpack(options.style.comments) }, + SpecialComment = vim.tbl_extend( + "force", + { fg = palette.medium_gray }, + options.style.comments + ), Underlined = { style = "underline" }, Bold = { style = "bold" }, Italic = { style = "italic" }, |