X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/fe3919e725e156d751069662d11e38f7b4791de1..5179925d63a908e267c6675e2a2e64bf30d3f727:/.vim/bundle/vim-lsp-ale/test/unit/runtime/autoload/lsp/callbag.vim diff --git a/.vim/bundle/vim-lsp-ale/test/unit/runtime/autoload/lsp/callbag.vim b/.vim/bundle/vim-lsp-ale/test/unit/runtime/autoload/lsp/callbag.vim new file mode 100644 index 00000000..9d3b35fe --- /dev/null +++ b/.vim/bundle/vim-lsp-ale/test/unit/runtime/autoload/lsp/callbag.vim @@ -0,0 +1,35 @@ +function! lsp#callbag#pipe(source, filter, sink) abort + let s:Filter = a:filter + let s:Next = a:sink.next + return {-> extend(s:, {'disposed': v:true})} +endfunction + +function! lsp#callbag#filter(pred) abort + return a:pred +endfunction + +function! lsp#callbag#subscribe(sink) abort + return a:sink +endfunction + +" Functions for tests + +function! lsp#callbag#piped() abort + return s:Filter isnot v:null && s:Next isnot v:null +endfunction + +function! lsp#callbag#disposed() abort + return s:disposed +endfunction + +function! lsp#callbag#reset() abort + let s:Filter = v:null + let s:Next = v:null + let s:disposed = v:false +endfunction + +function! lsp#callbag#mock_receive(res) abort + if s:Filter(a:res) + call s:Next(a:res) + endif +endfunction