feat: focus to input after /clear or /reset be execuated (#1044)
This commit is contained in:
		
							parent
							
								
									078e9312dc
								
							
						
					
					
						commit
						c8ba3d36cc
					
				| @ -133,6 +133,13 @@ function Sidebar:focus() | ||||
|   return false | ||||
| end | ||||
| 
 | ||||
| function Sidebar:focus_input() | ||||
|   if self.input_container and self.input_container.winid and api.nvim_win_is_valid(self.input_container.winid) then | ||||
|     api.nvim_set_current_win(self.input_container.winid) | ||||
|     api.nvim_feedkeys("i", "n", false) | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| function Sidebar:is_open() | ||||
|   return self.result_container | ||||
|     and self.result_container.bufnr | ||||
| @ -1381,10 +1388,16 @@ function Sidebar:clear_history(args, cb) | ||||
|   if next(chat_history) ~= nil then | ||||
|     chat_history = {} | ||||
|     Path.history.save(self.code.bufnr, chat_history) | ||||
|     self:update_content("Chat history cleared", { focus = false, scroll = false }) | ||||
|     self:update_content( | ||||
|       "Chat history cleared", | ||||
|       { focus = false, scroll = false, callback = function() self:focus_input() end } | ||||
|     ) | ||||
|     if cb then cb(args) end | ||||
|   else | ||||
|     self:update_content("Chat history is already empty", { focus = false, scroll = false }) | ||||
|     self:update_content( | ||||
|       "Chat history is already empty", | ||||
|       { focus = false, scroll = false, callback = function() self:focus_input() end } | ||||
|     ) | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| @ -1404,10 +1417,17 @@ function Sidebar:reset_memory(args, cb) | ||||
|     }) | ||||
|     Path.history.save(self.code.bufnr, chat_history) | ||||
|     local history_content = self:render_history_content(chat_history) | ||||
|     self:update_content(history_content, { focus = false, scroll = true }) | ||||
|     self:update_content(history_content, { | ||||
|       focus = false, | ||||
|       scroll = true, | ||||
|       callback = function() self:focus_input() end, | ||||
|     }) | ||||
|     if cb then cb(args) end | ||||
|   else | ||||
|     self:update_content("Chat history is already empty", { focus = false, scroll = false }) | ||||
|     self:update_content( | ||||
|       "Chat history is already empty", | ||||
|       { focus = false, scroll = false, callback = function() self:focus_input() end } | ||||
|     ) | ||||
|   end | ||||
| end | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Yang Jun
						Yang Jun