From 3a5283fa3808401b3f8274d42b688051e52004cf Mon Sep 17 00:00:00 2001 From: Martin Bielik Date: Fri, 21 Apr 2023 17:43:54 +0200 Subject: reuse chat if it is active in current tab --- autoload/vim_ai.vim | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'autoload') diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index 69a0f95..55439b2 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -117,8 +117,14 @@ function! vim_ai#AIChatRun(is_selection, ...) range let l:lines = getline(a:firstline, a:lastline) set paste if &filetype != 'aichat' - " open chat window - execute g:vim_ai_chat['ui']['open_chat_command'] + let l:chat_win_id = bufwinid(s:scratch_buffer_name) + if l:chat_win_id != -1 + " reuse chat in active window + call win_gotoid(l:chat_win_id) + else + " open new chat window + execute g:vim_ai_chat['ui']['open_chat_command'] + endif let l:prompt = "" if a:0 || a:is_selection let l:instruction = a:0 ? a:1 : "" -- cgit v1.2.3