summaryrefslogtreecommitdiff
path: root/py/utils.py
diff options
context:
space:
mode:
authorKonfekt <Konfekt@users.noreply.github.com>2024-03-11 14:50:43 +0100
committerKonfekt <Konfekt@users.noreply.github.com>2024-03-11 16:52:24 +0100
commit1bbfb606b96ae2d7e3c4a89ef08b928a9dae6c51 (patch)
treebfda0a963a86c653bbcead0ca1ce2ff6e367a60e /py/utils.py
parentd6d73d8714bdf93b23a92568ef8a22cf3c0876e1 (diff)
downloadvim-ai-1bbfb606b96ae2d7e3c4a89ef08b928a9dae6c51.tar.gz
Implement smarter AI chat window detection to reuse existing AI chat windows.
First search for AI chat windows within the same tab and then within other tabs if none are found in the current tab. It now prioritizes the reusing of an existing chat window that matches the '.aichat' filetype before considering opening a new one. If there are no existing AI chat windows, the plugin will open a new chat window as a last resort. diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim: - " reuse chat in active window or tab + " TODO: look for first active chat buffer. If .aichat file is used, + " then reuse chat in active window - " allow .aichat files windows to be switched to, preferably on same tab - let buffer_list_tab = tabpagebuflist(tabpagenr()) - let buffer_list_tab = filter(buffer_list_tab, 'getbufvar(v:val, "&filetype") ==# "aichat"') - - let buffer_list = [] - for i in range(tabpagenr('$')) - call extend(buffer_list, tabpagebuflist(i + 1)) - endfor - let buffer_list = filter(buffer_list, 'getbufvar(v:val, "&filetype") ==# "aichat"') - - if len(buffer_list_tab) > 0 - call win_gotoid(win_findbuf(buffer_list_tab[0])[0]) - elseif len(buffer_list) > 0 - call win_gotoid(win_findbuf(buffer_list[0])[0]) - else - " open new chat window - let l:open_conf = l:config['ui']['open_chat_command'] - call s:OpenChatWindow(l:open_conf) - endif + " open new chat window + let l:open_conf = l:config['ui']['open_chat_command'] + call s:OpenChatWindow(l:open_conf)
Diffstat (limited to 'py/utils.py')
0 files changed, 0 insertions, 0 deletions