summaryrefslogtreecommitdiff
path: root/vim-ai.vim
diff options
context:
space:
mode:
authorMartin Bielik <mx.bielik@gmail.com>2023-02-27 19:26:03 +0100
committerMartin Bielik <mx.bielik@gmail.com>2023-02-27 21:26:18 +0100
commit718d1751e687e54108af963a48a350b939beb861 (patch)
tree0913fbd6855985bc27f320dbe47cea8a6e429f0d /vim-ai.vim
parent9fa5e42f94464a2ddb0889fbc86bf30936bda256 (diff)
downloadvim-ai-718d1751e687e54108af963a48a350b939beb861.tar.gz
multiple argument support
Diffstat (limited to 'vim-ai.vim')
-rw-r--r--vim-ai.vim14
1 files changed, 6 insertions, 8 deletions
diff --git a/vim-ai.vim b/vim-ai.vim
index e6751de..e02936c 100644
--- a/vim-ai.vim
+++ b/vim-ai.vim
@@ -1,18 +1,18 @@
let g:openaiToken = system("cat ~/.config/openai.token")
function! AIRun(...) range
- let selection = getline(a:firstline, a:lastline)
+ let prompt = getline(a:firstline, a:lastline)
if a:0
- let instruction = a:1 . ":"
- call insert(selection, instruction, 0)
+ " join arguments and prepend to the prompt
+ let instruction = join(a:000, ", ") . ":"
+ call insert(prompt, instruction, 0)
endif
let buff_lastline = line('$')
-
- call writefile(selection, "/tmp/vim-ai.temp")
+ let prompt = join(prompt, "\n")
echo "Completing..."
- let output = system("cat /tmp/vim-ai.temp | openai complete - -t " . g:openaiToken)
+ let output = system("echo " . shellescape(prompt) . " | openai complete - -t " . g:openaiToken)
let output = trim(output)
execute a:firstline . ',' . a:lastline . 'd'
@@ -26,5 +26,3 @@ function! AIRun(...) range
endfunction
command! -range -nargs=? AI <line1>,<line2>call AIRun(<f-args>)
-nnoremap <leader>o :call AIRun()<CR>
-vnoremap <leader>o :call AIRun()<CR>