diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-10-31 04:44:45 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-31 04:44:45 -0700 |
commit | 4da0351651848e6c6c52903518fcd9ed15e087be (patch) | |
tree | 67f07e04b902a25599d95d5607bf43fe969625e1 /runtime/lua/vim/lsp.lua | |
parent | 653d96329306d52a4c143a71acd59e2a5b8c63cc (diff) | |
download | rneovim-4da0351651848e6c6c52903518fcd9ed15e087be.tar.gz rneovim-4da0351651848e6c6c52903518fcd9ed15e087be.tar.bz2 rneovim-4da0351651848e6c6c52903518fcd9ed15e087be.zip |
fix(lsp): add placeholder cancel function (#16189)
Fixes a bug introduced by https://github.com/neovim/neovim/pull/15949
When no supported clients for a given method are available, buf_request
returns early with a nil value. If buf_request_sync is called on a
buffer with no clients that support a given method, the returned
`cancel` method (which is nil), is invoked, resulting in an error.
Solution: return an empty function handle
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 3a067373d0..df700bebbd 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -1317,7 +1317,7 @@ function lsp.buf_request(bufnr, method, params, handler) if not tbl_isempty(all_buffer_active_clients[resolve_bufnr(bufnr)] or {}) and not method_supported then vim.notify(lsp._unsupported_method(method), vim.log.levels.ERROR) vim.api.nvim_command("redraw") - return + return {}, function() end end local client_request_ids = {} |