From a32e664efb35295d9690aa4b6a97216c0a2179b4 Mon Sep 17 00:00:00 2001 From: Yegappan Lakshmanan Date: Sun, 23 Apr 2023 08:36:44 -0700 Subject: [PATCH] Save the server textDocumentSync capability --- autoload/lsp/capabilities.vim | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/autoload/lsp/capabilities.vim b/autoload/lsp/capabilities.vim index 15a9766..c8a092c 100644 --- a/autoload/lsp/capabilities.vim +++ b/autoload/lsp/capabilities.vim @@ -236,31 +236,30 @@ export def ProcessServerCaps(lspserver: dict, caps: dict) lspserver.isClangdInlayHintsProvider = false endif - # textDocument/didSave notification + # textDocumentSync capabilities + lspserver.supportsDidSave = false + # Default to TextDocumentSyncKind.None + lspserver.textDocumentSync = 0 if lspserver.caps->has_key('textDocumentSync') if lspserver.caps.textDocumentSync->type() == v:t_bool - || lspserver.caps.textDocumentSync->type() == v:t_number + || lspserver.caps.textDocumentSync->type() == v:t_number lspserver.supportsDidSave = lspserver.caps.textDocumentSync - else - if lspserver.caps.textDocumentSync->type() == v:t_dict - if lspserver.caps.textDocumentSync->has_key('save') - if lspserver.caps.textDocumentSync.save->type() == v:t_bool + lspserver.textDocumentSync = lspserver.caps.textDocumentSync + elseif lspserver.caps.textDocumentSync->type() == v:t_dict + # "save" + if lspserver.caps.textDocumentSync->has_key('save') + if lspserver.caps.textDocumentSync.save->type() == v:t_bool || lspserver.caps.textDocumentSync.save->type() == v:t_number - lspserver.supportsDidSave = lspserver.caps.textDocumentSync.save - elseif lspserver.caps.textDocumentSync.save->type() == v:t_dict - lspserver.supportsDidSave = true - else - lspserver.supportsDidSave = false - endif - else - lspserver.supportsDidSave = false + lspserver.supportsDidSave = lspserver.caps.textDocumentSync.save + elseif lspserver.caps.textDocumentSync.save->type() == v:t_dict + lspserver.supportsDidSave = true endif - else - lspserver.supportsDidSave = false + endif + # "change" + if lspserver.caps.textDocumentSync->has_key('change') + lspserver.textDocumentSync = lspserver.caps.textDocumentSync.change endif endif - else - lspserver.supportsDidSave = false endif enddef -- 2.48.1