summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorKonfekt <Konfekt@users.noreply.github.com>2024-02-21 12:45:51 +0100
committerKonfekt <Konfekt@users.noreply.github.com>2024-02-26 08:21:08 +0100
commit249cc6d11e7ef560fe23a1c6e665a7afb8abdb20 (patch)
treeeb64db35bb0b357eebe9546dbb6cca2a453c67d1 /plugin
parentae814f2f485c4ee9635d1d6bf11674797d387984 (diff)
downloadvim-ai-249cc6d11e7ef560fe23a1c6e665a7afb8abdb20.tar.gz
fix selection handling in vim_ai functions
addresses https://github.com/madox2/vim-ai/issues/76
Diffstat (limited to 'plugin')
-rw-r--r--plugin/vim-ai.vim12
1 files changed, 9 insertions, 3 deletions
diff --git a/plugin/vim-ai.vim b/plugin/vim-ai.vim
index 1d03177..6bcb919 100644
--- a/plugin/vim-ai.vim
+++ b/plugin/vim-ai.vim
@@ -4,8 +4,14 @@ if !has('python3')
finish
endif
-command! -range -nargs=? AI <line1>,<line2>call vim_ai#AIRun(<range>, {}, <f-args>)
-command! -range -nargs=? AIEdit <line1>,<line2>call vim_ai#AIEditRun(<range>, {}, <f-args>)
-command! -range -nargs=? AIChat <line1>,<line2>call vim_ai#AIChatRun(<range>, {}, <f-args>)
+" to detect if a selection pending: https://stackoverflow.com/a/20133772
+augroup vim_ai
+ autocmd!
+ autocmd CursorMoved * let g:vim_ai_is_selection_pending = mode() =~# "^[vV\<C-v>]"
+augroup END
+
+command! -range -nargs=? AI <line1>,<line2>call vim_ai#AIRun(g:vim_ai_is_selection_pending, {}, <f-args>)
+command! -range -nargs=? AIEdit <line1>,<line2>call vim_ai#AIEditRun(g:vim_ai_is_selection_pending, {}, <f-args>)
+command! -range -nargs=? AIChat <line1>,<line2>call vim_ai#AIChatRun(g:vim_ai_is_selection_pending, {}, <f-args>)
command! -nargs=? AINewChat call vim_ai#AINewChatRun(<f-args>)
command! AIRedo call vim_ai#AIRedoRun()