diff options
| -rw-r--r-- | lua/gruvbox/groups.lua | 10 |
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 |
