async: nvim: use generic output handler
This commit is contained in:
parent
942458f19b
commit
f0a508b121
@ -142,10 +142,14 @@ if v:version >= 800 && has("job")
|
|||||||
elseif has("nvim")
|
elseif has("nvim")
|
||||||
" NVim specific functions
|
" NVim specific functions
|
||||||
|
|
||||||
function! s:nvim_untracked_job_handler(job_id, data, event) dict
|
function! s:nvim_output_handler(job_id, data, event) dict
|
||||||
if a:event == 'stdout'
|
if a:event == 'stdout' || a:event == 'stderr'
|
||||||
let self.buf .= join(a:data)
|
let self.buf .= join(a:data)
|
||||||
else " on_exit handler
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:nvim_untracked_job_handler(job_id, data, event) dict
|
||||||
|
if a:event == 'exit'
|
||||||
call s:untracked_output(self, self.buf)
|
call s:untracked_output(self, self.buf)
|
||||||
if has_key(s:untracked_jobs, self.file)
|
if has_key(s:untracked_jobs, self.file)
|
||||||
call remove(s:untracked_jobs, self.file)
|
call remove(s:untracked_jobs, self.file)
|
||||||
@ -154,17 +158,13 @@ elseif has("nvim")
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:nvim_mq_job_handler(job_id, data, event) dict
|
function! s:nvim_mq_job_handler(job_id, data, event) dict
|
||||||
if a:event == 'stdout' || a:event == 'stderr'
|
if a:event == 'exit'
|
||||||
let self.buf .= join(a:data)
|
|
||||||
else " on_exit handler
|
|
||||||
call s:mq_output(self.buf, self.file)
|
call s:mq_output(self.buf, self.file)
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:nvim_po_job_handler(job_id, data, event) dict
|
function! s:nvim_po_job_handler(job_id, data, event) dict
|
||||||
if a:event == 'stdout' || a:event == 'stderr'
|
if a:event == 'exit'
|
||||||
let self.buf .= join(a:data)
|
|
||||||
else " on_exit handler
|
|
||||||
call s:po_output(self.buf, self.file)
|
call s:po_output(self.buf, self.file)
|
||||||
call airline#extensions#po#shorten()
|
call airline#extensions#po#shorten()
|
||||||
endif
|
endif
|
||||||
@ -175,8 +175,8 @@ elseif has("nvim")
|
|||||||
\ 'buf': '',
|
\ 'buf': '',
|
||||||
\ 'file': a:file,
|
\ 'file': a:file,
|
||||||
\ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')),
|
\ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')),
|
||||||
\ 'on_stdout': function('s:nvim_mq_job_handler'),
|
\ 'on_stdout': function('s:nvim_output_handler'),
|
||||||
\ 'on_stderr': function('s:nvim_mq_job_handler'),
|
\ 'on_stderr': function('s:nvim_output_handler'),
|
||||||
\ 'on_exit': function('s:nvim_mq_job_handler')
|
\ 'on_exit': function('s:nvim_mq_job_handler')
|
||||||
\ }
|
\ }
|
||||||
if g:airline#init#is_windows && &shell =~ 'cmd'
|
if g:airline#init#is_windows && &shell =~ 'cmd'
|
||||||
@ -197,8 +197,8 @@ elseif has("nvim")
|
|||||||
\ 'buf': '',
|
\ 'buf': '',
|
||||||
\ 'file': a:file,
|
\ 'file': a:file,
|
||||||
\ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')),
|
\ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')),
|
||||||
\ 'on_stdout': function('s:nvim_po_job_handler'),
|
\ 'on_stdout': function('s:nvim_output_handler'),
|
||||||
\ 'on_stderr': function('s:nvim_po_job_handler'),
|
\ 'on_stderr': function('s:nvim_output_handler'),
|
||||||
\ 'on_exit': function('s:nvim_po_job_handler')
|
\ 'on_exit': function('s:nvim_po_job_handler')
|
||||||
\ }
|
\ }
|
||||||
if g:airline#init#is_windows && &shell =~ 'cmd'
|
if g:airline#init#is_windows && &shell =~ 'cmd'
|
||||||
@ -230,7 +230,7 @@ function! airline#async#nvim_vcs_untracked(cfg, file, vcs)
|
|||||||
\ }
|
\ }
|
||||||
if has("nvim")
|
if has("nvim")
|
||||||
call extend(config, {
|
call extend(config, {
|
||||||
\ 'on_stdout': function('s:nvim_untracked_job_handler'),
|
\ 'on_stdout': function('s:nvim_output_handler'),
|
||||||
\ 'on_exit': function('s:nvim_untracked_job_handler')})
|
\ 'on_exit': function('s:nvim_untracked_job_handler')})
|
||||||
if has_key(s:untracked_jobs, config.file)
|
if has_key(s:untracked_jobs, config.file)
|
||||||
" still running
|
" still running
|
||||||
|
Loading…
Reference in New Issue
Block a user