From a3c2a9a0d522d5fe39d4a630e80846e5714c54ac Mon Sep 17 00:00:00 2001 From: yetone Date: Fri, 23 Aug 2024 18:08:58 +0800 Subject: [PATCH] fix: switch to an invalid window (#171) --- lua/avante/sidebar.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index 301d51e..3a967cb 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -99,6 +99,7 @@ function Sidebar:open() end function Sidebar:close() + self:delete_autocmds() for _, comp in pairs(self) do if comp and type(comp) == "table" and comp.unmount then comp:unmount() @@ -827,9 +828,10 @@ function Sidebar:refresh_winids() local current_idx = Utils.tbl_indexof(winids, current_winid) or 1 if current_idx == #winids then current_idx = 1 - api.nvim_set_current_win(winids[current_idx]) else current_idx = current_idx + 1 + end + if api.nvim_win_is_valid(winids[current_idx]) then api.nvim_set_current_win(winids[current_idx]) end end @@ -839,9 +841,10 @@ function Sidebar:refresh_winids() local current_idx = Utils.tbl_indexof(winids, current_winid) or 1 if current_idx == 1 then current_idx = #winids - api.nvim_set_current_win(winids[current_idx]) else current_idx = current_idx - 1 + end + if api.nvim_win_is_valid(winids[current_idx]) then api.nvim_set_current_win(winids[current_idx]) end end