aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilly Vong <billyvg@gmail.com>2017-10-31 08:35:29 -0700
committerBilly Vong <billyvg@gmail.com>2017-10-31 08:35:29 -0700
commiteed10f7e23a7ec27e5ba147379fb6acbfcb10c20 (patch)
treec0a8e826a866d2896e6e21a350edcbf1631a9385
parent7890157931a3fdfddb647a06e27346071c55564c (diff)
downloadrneovim-eed10f7e23a7ec27e5ba147379fb6acbfcb10c20.tar.gz
rneovim-eed10f7e23a7ec27e5ba147379fb6acbfcb10c20.tar.bz2
rneovim-eed10f7e23a7ec27e5ba147379fb6acbfcb10c20.zip
use `provider#stderr_collector`
-rw-r--r--runtime/autoload/provider/node.vim16
1 files changed, 5 insertions, 11 deletions
diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim
index 8a2a105bb4..ce2740e813 100644
--- a/runtime/autoload/provider/node.vim
+++ b/runtime/autoload/provider/node.vim
@@ -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