From 17b5dcfafdf586f272cd0bf925d81e5a425a3ce8 Mon Sep 17 00:00:00 2001 From: Yegappan Lakshmanan Date: Fri, 6 Oct 2023 12:11:39 -0700 Subject: [PATCH] Access the save key in textDocumentSync only if it is a Dict --- autoload/lsp/lspserver.vim | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/autoload/lsp/lspserver.vim b/autoload/lsp/lspserver.vim index 40bc145..315ba27 100644 --- a/autoload/lsp/lspserver.vim +++ b/autoload/lsp/lspserver.vim @@ -908,8 +908,13 @@ def DidSaveFile(lspserver: dict, bnr: number): void # Params: DidSaveTextDocumentParams var params: dict = {textDocument: {uri: util.LspBufnrToUri(bnr)}} - if lspserver.caps.textDocumentSync->get("save", {})->get("includeText", v:false) - params.text = bnr->getbufline(1, '$')->join("\n") .. "\n" + if lspserver.caps.textDocumentSync->type() == v:t_dict + && lspserver.caps.textDocumentSync->has_key('save') + if lspserver.caps.textDocumentSync.save->type() == v:t_dict + && lspserver.caps.textDocumentSync.save->has_key('includeText') + && lspserver.caps.textDocumentSync.save.includeText + params.text = bnr->getbufline(1, '$')->join("\n") .. "\n" + endif endif lspserver.sendNotification('textDocument/didSave', params) -- 2.44.0