summaryrefslogtreecommitdiff
path: root/vim-ai.vim
blob: f98fe1c1fe58bfc3d4040fee6a6fd4768eb6eb49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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>