use provider#stderr_collector

This commit is contained in:
Billy Vong 2017-10-31 08:35:29 -07:00
parent 7890157931
commit eed10f7e23

View File

@ -3,16 +3,7 @@ if exists('g:loaded_node_provider')
endif
let g:loaded_node_provider = 1
let s:stderr = {}
let s:job_opts = {'rpc': v:true}
function! s:job_opts.on_stderr(chan_id, data, event)
let stderr = get(s:stderr, a:chan_id, [''])
let last = remove(stderr, -1)
let a:data[0] = last.a:data[0]
call extend(stderr, a:data)
let s:stderr[a:chan_id] = stderr
endfunction
let s:job_opts = {'rpc': v:true, 'on_stderr': function('provider#stderr_collector')}
function! provider#node#Detect() abort
return exepath('neovim-node-host')
@ -44,10 +35,13 @@ function! provider#node#Require(host) abort
catch
echomsg v:throwpoint
echomsg v:exception
for row in get(s:stderr, channel_id, [])
for row in provider#get_stderr(channel_id)
echomsg row
endfor
endtry
finally
call provider#clear_stderr(channel_id)
endtry
throw remote#host#LoadErrorForHost(a:host.orig_name, '$NVIM_NODE_LOG_FILE')
endfunction