mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
ffdddcd93d
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
|