diff options
Diffstat (limited to '')
| -rw-r--r-- | autoload/vim_ai.vim | 6 | ||||
| -rw-r--r-- | autoload/vim_ai_config.vim | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index 7206431..5d8ee79 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -136,7 +136,11 @@ function! vim_ai#AIChatRun(is_selection, config, ...) range call win_gotoid(l:chat_win_id) else " open new chat window - execute g:vim_ai_chat['ui']['open_chat_command'] + let l:open_conf = g:vim_ai_chat['ui']['open_chat_command'] + let l:open_cmd = has_key(g:vim_ai_open_chat_presets, l:open_conf) + \ ? g:vim_ai_open_chat_presets[l:open_conf] + \ : l:open_conf + execute l:open_cmd endif endif diff --git a/autoload/vim_ai_config.vim b/autoload/vim_ai_config.vim index 3b182c0..ca8273e 100644 --- a/autoload/vim_ai_config.vim +++ b/autoload/vim_ai_config.vim @@ -35,13 +35,19 @@ let g:vim_ai_chat_default = { \ "initial_prompt": s:initial_chat_prompt, \ }, \ "ui": { -\ "open_chat_command": "below new | call vim_ai#MakeScratchWindow()", +\ "open_chat_command": "preset_below", \ "scratch_buffer_keep_open": 0, \ "populate_options": 0, \ "code_syntax_enabled": 1, \ }, \} +let g:vim_ai_open_chat_presets = { +\ "preset_below": "below new | call vim_ai#MakeScratchWindow()", +\ "preset_tab": "tabnew | call vim_ai#MakeScratchWindow()", +\ "preset_right": "rightbelow 55vnew | setlocal noequalalways | setlocal winfixwidth | call vim_ai#MakeScratchWindow()", +\} + if !exists("g:vim_ai_debug") let g:vim_ai_debug = 0 endif |