summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/no-clown-fiesta/highlight-group/treesitter.lua34
-rw-r--r--lua/no-clown-fiesta/highlights.lua24
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" },