From 0e0d9d6f7dc25d5e794c55d23d8bf777ec738c95 Mon Sep 17 00:00:00 2001 From: yetone Date: Sat, 17 Aug 2024 15:52:12 +0800 Subject: [PATCH] fix: do not jump to the view window (#36) --- lua/avante/sidebar.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index ddd1293..371ab06 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -150,6 +150,36 @@ function Sidebar:intialize() self.renderer:set_size({ width = new_layout.width, height = new_layout.height }) end, }) + + local previous_winid = nil + + api.nvim_create_autocmd("WinLeave", { + group = self.augroup, + callback = function() + previous_winid = vim.api.nvim_get_current_win() + end, + }) + + api.nvim_create_autocmd("WinEnter", { + group = self.augroup, + callback = function() + local current_win_id = vim.api.nvim_get_current_win() + + if current_win_id ~= self.view.win then + return + end + + if self.winid.result == previous_winid and api.nvim_win_is_valid(self.code.win) then + api.nvim_set_current_win(self.code.win) + return + end + + if api.nvim_win_is_valid(self.winid.result) then + api.nvim_set_current_win(self.winid.result) + return + end + end, + }) end) self.renderer:on_unmount(function()