summaryrefslogtreecommitdiff
path: root/vim-ai.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim-ai.vim')
-rw-r--r--vim-ai.vim19
1 files changed, 19 insertions, 0 deletions
diff --git a/vim-ai.vim b/vim-ai.vim
new file mode 100644
index 0000000..f98fe1c
--- /dev/null
+++ b/vim-ai.vim
@@ -0,0 +1,19 @@
+let g:openaiToken = system("cat ~/.config/openai.token")
+
+function! AIRun() range
+ execute a:firstline . ',' . a:lastline . 'd'
+
+ let selection = @*
+ call writefile(split(selection, "\n"), "/tmp/vim-ai.temp")
+
+ echo "Working..."
+ let output = system("cat /tmp/vim-ai.temp | openai complete - -t " . g:openaiToken)
+
+ call feedkeys("i")
+ call feedkeys(output)
+ call feedkeys("\<Esc>")
+endfunction
+
+command! -range AI <line1>,<line2>call AIRun()
+nnoremap <leader>o :call AIRun()<CR>
+vnoremap <leader>o :call AIRun()<CR>