From 14da56ee9791143ef2503816fb93f8bd2bf0b58d Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sun, 8 Dec 2024 20:01:09 +0100 Subject: [PATCH] fix(zen): properly close existing zen window on toggle --- lua/snacks/zen.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lua/snacks/zen.lua b/lua/snacks/zen.lua index 390930a6..b4983242 100644 --- a/lua/snacks/zen.lua +++ b/lua/snacks/zen.lua @@ -84,6 +84,8 @@ local function get_main(opts) return ret end +local zen_win ---@type snacks.win? + ---@param opts? snacks.zen.Config function M.zen(opts) local toggles = opts and opts.toggles @@ -91,8 +93,9 @@ function M.zen(opts) opts.toggles = toggles or opts.toggles -- close if already open - if vim.w[vim.api.nvim_get_current_win()].snacks_zen then - vim.cmd("close") + if zen_win and zen_win:valid() then + zen_win:close() + zen_win = nil return end @@ -122,7 +125,7 @@ function M.zen(opts) -- create window local win = Snacks.win(win_opts) - vim.w[win.win].snacks_zen = true + zen_win = win if show_indicator then zoom_indicator = Snacks.win({