aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/gruvbox/groups.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/lua/gruvbox/groups.lua b/lua/gruvbox/groups.lua
index 318d3ed..a65cc25 100644
--- a/lua/gruvbox/groups.lua
+++ b/lua/gruvbox/groups.lua
@@ -785,10 +785,16 @@ M.setup = function()
}
for group, hl in pairs(config.overrides) do
+ -- When `link` is set together with other attrs, only `link` will take effect.
+ -- e.g. `{ link = "GruvboxRed", fg = colors.blue }` The final color is red.
+ -- Dereference the `link` and let user overrides it's attr.
+ local link = nil
if groups[group] and not vim.tbl_isempty(hl) then
- groups[group].link = nil
+ link = groups[group]["link"]
+ groups[group]["link"] = nil
end
- groups[group] = vim.tbl_extend("force", groups[group] or {}, hl)
+
+ groups[group] = vim.tbl_extend("force", groups[group] or {}, groups[link] or {}, hl)
end
return groups