summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorMartin Bielik <mx.bielik@gmail.com>2023-03-25 15:36:40 +0100
committerMartin Bielik <mx.bielik@gmail.com>2023-03-25 15:36:40 +0100
commit5e8a27664ce42cb0a04aa9a095fb70edc5098dc2 (patch)
treef2ff4d68c2671e29c641bd49e8b1b282110fbc64 /plugin
parent232419deba9643800658d92607bd32c6648c5db9 (diff)
downloadvim-ai-5e8a27664ce42cb0a04aa9a095fb70edc5098dc2.tar.gz
complete on current line if applicable
Diffstat (limited to 'plugin')
-rw-r--r--plugin/vim-ai.vim10
1 files changed, 8 insertions, 2 deletions
diff --git a/plugin/vim-ai.vim b/plugin/vim-ai.vim
index 7570f69..2befe89 100644
--- a/plugin/vim-ai.vim
+++ b/plugin/vim-ai.vim
@@ -55,11 +55,17 @@ function! MakePrompt(is_selection, lines, instruction)
endfunction
function! AIRun(is_selection, ...) range
- let prompt = MakePrompt(a:is_selection, getline(a:firstline, a:lastline), a:0 ? a:1 : "")
+ let lines = getline(a:firstline, a:lastline)
+ let prompt = MakePrompt(a:is_selection, lines, a:0 ? a:1 : "")
let options_default = g:vim_ai_complete_default['options']
let options = g:vim_ai_complete['options']
+ let cursor_on_empty_line = trim(join(lines, "\n")) == ""
set paste
- execute "normal! " . a:lastline . "Go"
+ if cursor_on_empty_line
+ execute "normal! " . a:lastline . "GA"
+ else
+ execute "normal! " . a:lastline . "Go"
+ endif
execute "py3file " . s:complete_py
execute "normal! " . a:lastline . "G"
set nopaste