diff options
author | James McCoy <jamessan@jamessan.com> | 2018-02-16 13:33:07 -0500 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2018-02-16 13:33:07 -0500 |
commit | 48dc1f3f90c6bbebcaa93ecf3348648f45c45239 (patch) | |
tree | 278e3573d9eda166224ab5471b77bd5eb5580458 | |
parent | 09b51bbf87b16af9a186cea750ada748d89aa259 (diff) | |
download | rneovim-48dc1f3f90c6bbebcaa93ecf3348648f45c45239.tar.gz rneovim-48dc1f3f90c6bbebcaa93ecf3348648f45c45239.tar.bz2 rneovim-48dc1f3f90c6bbebcaa93ecf3348648f45c45239.zip |
provider: ruby: Use stderr_buffered to collect stderr
-rw-r--r-- | runtime/autoload/provider/ruby.vim | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/runtime/autoload/provider/ruby.vim b/runtime/autoload/provider/ruby.vim index 3fb65fecdf..3d1f7a4138 100644 --- a/runtime/autoload/provider/ruby.vim +++ b/runtime/autoload/provider/ruby.vim @@ -4,16 +4,7 @@ if exists('g:loaded_ruby_provider') endif let g:loaded_ruby_provider = 1 -let s:stderr = {} -let s:job_opts = {'rpc': v:true} - -function! s:job_opts.on_stderr(chan_id, data, event) abort - 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, 'stderr_buffered': v:true} function! provider#ruby#Detect() abort if exists("g:ruby_host_prog") @@ -36,14 +27,15 @@ function! provider#ruby#Require(host) abort endfor try - let channel_id = jobstart(prog, s:job_opts) + let job = copy(s:job_opts) + let channel_id = jobstart(prog, job) if rpcrequest(channel_id, 'poll') ==# 'ok' return channel_id endif catch echomsg v:throwpoint echomsg v:exception - for row in get(s:stderr, channel_id, []) + for row in get(job, 'stderr', []) echomsg row endfor endtry |