12345678910111213141516171819202122232425 |
- " Common functions for providers
- " Start the provider and perform a 'poll' request
- "
- " Returns a valid channel on success
- function! provider#Poll(argv, orig_name, log_env, ...) abort
- let job = {'rpc': v:true, 'stderr_buffered': v:true}
- if a:0
- let job = extend(job, a:1)
- endif
- try
- let channel_id = jobstart(a:argv, job)
- if channel_id > 0 && rpcrequest(channel_id, 'poll') ==# 'ok'
- return channel_id
- endif
- catch
- echomsg v:throwpoint
- echomsg v:exception
- for row in get(job, 'stderr', [])
- echomsg row
- endfor
- endtry
- throw remote#host#LoadErrorForHost(a:orig_name, a:log_env)
- endfunction
|