mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 11:58:17 +00:00

If an autoloaded function hasn't been resolved before it is used in function(), the self dict will not be created which causes E725 when calling the function. Since self isn't being used in provider#stderr_collector, we can remove the dict attribute to workaround the self dict bug[0]. Closes #7115 [0]: https://groups.google.com/d/msg/vim_dev/I7AXOyv-P4o/DzbyOxDHBgAJ
21 lines
500 B
VimL
21 lines
500 B
VimL
" 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
|