diff options
Diffstat (limited to 'runtime/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', { | 
