No .vimrc anymore, everything in /vim/.vim/plugin/
This commit is contained in:
26
vim/.vim/plugin/functions.vim
Normal file
26
vim/.vim/plugin/functions.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" This callback will be executed when the entire command is completed
|
||||
function! BackgroundCommandClose(channel)
|
||||
" Read the output from the command into the quickfix window
|
||||
unlet g:backgroundCommandOutput
|
||||
endfunction
|
||||
|
||||
function! RunBackgroundCommand(command)
|
||||
" Make sure we're running VIM version 8 or higher.
|
||||
if v:version < 800
|
||||
echoerr 'RunBackgroundCommand requires VIM version 8 or higher'
|
||||
return
|
||||
endif
|
||||
if exists('g:backgroundCommandOutput')
|
||||
echo 'Already running task in background'
|
||||
else
|
||||
echo 'Running task in background'
|
||||
" Launch the job.
|
||||
" Notice that we're only capturing out, and not err here. This is because, for some reason, the callback
|
||||
" will not actually get hit if we write err out to the same file. Not sure if I'm doing this wrong or?
|
||||
let g:backgroundCommandOutput = tempname()
|
||||
call job_start(a:command, {'close_cb': 'BackgroundCommandClose', 'out_io': 'file', 'out_name': g:backgroundCommandOutput})
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" So we can use :BackgroundCommand to call our function.
|
||||
command! -nargs=+ -complete=shellcmd RunBackgroundCommand call RunBackgroundCommand(<q-args>)
|
||||
Reference in New Issue
Block a user