diff options
Diffstat (limited to '')
| -rw-r--r-- | vim-ai.vim | 19 |
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> |