From 8c9cd1a7b28470577dbba04dfb9276604d3e538f Mon Sep 17 00:00:00 2001 From: yetone Date: Thu, 20 Mar 2025 03:25:08 +0800 Subject: [PATCH] Revert "feat: Allow Chat Sidebar to Replace the Main Window (No Split) (#1638)" (#1648) This reverts commit 31041f6d65a0832fa189c0c13a7ee52f6eb4569e. --- lua/avante/api.lua | 1 - lua/avante/sidebar.lua | 52 +++++++++++++++--------------------------- 2 files changed, 19 insertions(+), 34 deletions(-) diff --git a/lua/avante/api.lua b/lua/avante/api.lua index a42dc8f..6e8592a 100644 --- a/lua/avante/api.lua +++ b/lua/avante/api.lua @@ -101,7 +101,6 @@ end ---@field floating? boolean whether to open a floating input to enter the question ---@field new_chat? boolean whether to open a new chat ---@field without_selection? boolean whether to open a new chat without selection ----@field no_split? boolean whether to open a new chat without split side bar ---@param opts? AskOptions function M.ask(opts) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index 8b1a641..1bb15e8 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -140,18 +140,12 @@ end function Sidebar:close(opts) opts = vim.tbl_extend("force", { goto_code_win = true }, opts or {}) self:delete_autocmds() - - if opts.goto_code_win and self.code then - if self.code.winid and api.nvim_win_is_valid(self.code.winid) then - fn.win_gotoid(self.code.winid) - else - vim.cmd("vert sb" .. self.code.bufnr) - end - end - for _, comp in pairs(self) do if comp and type(comp) == "table" and comp.unmount then comp:unmount() end end + if opts.goto_code_win and self.code and self.code.winid and api.nvim_win_is_valid(self.code.winid) then + fn.win_gotoid(self.code.winid) + end vim.cmd("wincmd =") end @@ -3000,6 +2994,8 @@ function Sidebar:create_input_container(opts) if ev.data and ev.data.request then handle_submit(ev.data.request) end end, }) + + self:refresh_winids() end function Sidebar:get_selected_code_size() @@ -3044,13 +3040,11 @@ function Sidebar:get_result_container_width() end function Sidebar:adjust_result_container_layout() - if self.code.winid ~= nil and api.nvim_win_is_valid(self.code.winid) then - local width = self:get_result_container_width() - local height = self:get_result_container_height() + local width = self:get_result_container_width() + local height = self:get_result_container_height() - api.nvim_win_set_width(self.result_container.winid, width) - api.nvim_win_set_height(self.result_container.winid, height) - end + api.nvim_win_set_width(self.result_container.winid, width) + api.nvim_win_set_height(self.result_container.winid, height) end ---@param opts AskOptions @@ -3095,27 +3089,19 @@ function Sidebar:render(opts) self:update_content_with_history() - if opts.no_split == true then - vim.cmd(fn.win_getid(self.code.winid) .. "wincmd q") - self.code.winid = nil - fn.win_gotoid(self.input_container.winid) - else - -- reset states when buffer is closed - api.nvim_buf_attach(self.code.bufnr, false, { - on_detach = function(_, _) - vim.schedule(function() - local bufnr = api.nvim_win_get_buf(self.code.winid) - self.code.bufnr = bufnr - self:reload_chat_history() - end) - end, - }) - end + -- reset states when buffer is closed + api.nvim_buf_attach(self.code.bufnr, false, { + on_detach = function(_, _) + vim.schedule(function() + local bufnr = api.nvim_win_get_buf(self.code.winid) + self.code.bufnr = bufnr + self:reload_chat_history() + end) + end, + }) self:create_selected_code_container() - self:refresh_winids() - self:on_mount(opts) return self