aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua7
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', {