diff options
author | Mathias Fußenegger <mfussenegger@users.noreply.github.com> | 2022-04-30 22:13:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-30 22:13:26 +0200 |
commit | 0344736aa698dc205f8f9f80609b7033308d39ca (patch) | |
tree | 099aa0fef01b37012de459129bffce46d32ecfed /runtime/lua/vim/lsp.lua | |
parent | cc27540560672c1586e17a9e39512074e770b005 (diff) | |
download | rneovim-0344736aa698dc205f8f9f80609b7033308d39ca.tar.gz rneovim-0344736aa698dc205f8f9f80609b7033308d39ca.tar.bz2 rneovim-0344736aa698dc205f8f9f80609b7033308d39ca.zip |
fix(lsp): handle textDocumentSync.save bool capability (#18332)
Follow up to https://github.com/neovim/neovim/pull/17814
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 50fd26957d..5c35d3916f 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -1208,10 +1208,11 @@ function lsp._text_document_did_save_handler(bufnr) bufnr = resolve_bufnr(bufnr) local uri = vim.uri_from_bufnr(bufnr) local text = once(buf_get_full_text) - for_each_buffer_client(bufnr, function(client, _client_id) - if vim.tbl_get(client.server_capabilities, "textDocumentSync", "save") then + for_each_buffer_client(bufnr, function(client) + local save_capability = vim.tbl_get(client.server_capabilities, "textDocumentSync", "save") + if save_capability then local included_text - if vim.tbl_get(client.server_capabilities, "textDocumentSync", "save", "includeText") then + if type(save_capability) == "table" and save_capability.includeText then included_text = text(bufnr) end client.notify('textDocument/didSave', { |