diff options
| author | Martin Bielik <mx.bielik@gmail.com> | 2023-02-26 22:11:45 +0100 |
|---|---|---|
| committer | Martin Bielik <mx.bielik@gmail.com> | 2023-02-27 21:26:18 +0100 |
| commit | e69475498a21df2934ff1c2e87fad6cfa942dc5a (patch) | |
| tree | b0861fa5a31bd74ecdd6449551c35fc1215a3472 /vim-ai.vim | |
| parent | d1b2c4ceb93e35012f9a6ff7e63c3340e1d39578 (diff) | |
| download | vim-ai-e69475498a21df2934ff1c2e87fad6cfa942dc5a.tar.gz | |
initial ai completion
Diffstat (limited to 'vim-ai.vim')
| -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> |