aboutsummaryrefslogtreecommitdiff
path: root/runtime/autoload/provider.vim
blob: e6514f5ba89eaa40cb339eb0acaf2bae11f1eaf5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
" Common functionality for providers

let s:stderr = {}

function! provider#stderr_collector(chan_id, data, event)
   let stderr = get(s:stderr, a:chan_id, [''])
   let stderr[-1] .= a:data[0]
   call extend(stderr, a:data[1:])
   let s:stderr[a:chan_id] = stderr
endfunction

function! provider#clear_stderr(chan_id)
  if has_key(s:stderr, a:chan_id)
    call remove(s:stderr, a:chan_id)
  endif
endfunction

function! provider#get_stderr(chan_id)
   return get(s:stderr, a:chan_id, [])
endfunction