diff options
| author | google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> | 2025-06-25 18:00:30 +0000 |
|---|---|---|
| committer | google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> | 2025-06-25 18:00:30 +0000 |
| commit | a38d3d9a294f08d21ab8733234e9f398821a95d9 (patch) | |
| tree | 3a717d662d52612633a2eeb86bcc0203ada0da4b /lua/gruvbox.lua | |
| parent | 00e38a379bab3389e187b3953566d67d494dfddd (diff) | |
| download | gruvbox-a38d3d9a294f08d21ab8733234e9f398821a95d9.tar.gz gruvbox-a38d3d9a294f08d21ab8733234e9f398821a95d9.tar.xz | |
Fix: Make multiple calls to setup() independent
Previously, multiple calls to `gruvbox.setup()` would merge configurations,
leading to unexpected behavior when trying to reset or change specific
settings like `overrides` or `contrast`.
This commit addresses the issue by ensuring that each call to `setup()`
starts with a fresh copy of the default configuration before applying
the user-provided settings.
This change makes calls to `setup()` idempotent and independent of
previous calls, as suggested in issue #402.
A new test case has been added to verify this behavior.
Diffstat (limited to 'lua/gruvbox.lua')
| -rw-r--r-- | lua/gruvbox.lua | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lua/gruvbox.lua b/lua/gruvbox.lua index cd81874..6a5ef41 100644 --- a/lua/gruvbox.lua +++ b/lua/gruvbox.lua @@ -44,7 +44,7 @@ local Gruvbox = {} ---@field transparent_mode boolean? ---@field undercurl boolean? ---@field underline boolean? -Gruvbox.config = { +local default_config = { terminal_colors = true, undercurl = true, underline = true, @@ -68,6 +68,8 @@ Gruvbox.config = { transparent_mode = false, } +Gruvbox.config = vim.deepcopy(default_config) + -- main gruvbox color palette ---@class GruvboxPalette Gruvbox.palette = { @@ -1311,6 +1313,7 @@ end ---@param config GruvboxConfig? Gruvbox.setup = function(config) + Gruvbox.config = vim.deepcopy(default_config) Gruvbox.config = vim.tbl_deep_extend("force", Gruvbox.config, config or {}) end |
