From 3be913e0ae97a1aa02b982067d8bd9dc46ab1b27 Mon Sep 17 00:00:00 2001 From: Mitchell Hanberg Date: Thu, 5 Oct 2023 17:29:09 -0400 Subject: [PATCH] fix: send buffer text on textDocument/didSave This sends the full buffer text on the textDocument/didSave notification if the server's sync options specify it. --- autoload/lsp/lspserver.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/autoload/lsp/lspserver.vim b/autoload/lsp/lspserver.vim index 3bfe443..236aabd 100644 --- a/autoload/lsp/lspserver.vim +++ b/autoload/lsp/lspserver.vim @@ -907,8 +907,11 @@ def DidSaveFile(lspserver: dict, bnr: number): void # Notification: 'textDocument/didSave' # Params: DidSaveTextDocumentParams var params = {textDocument: {uri: util.LspBufnrToUri(bnr)}} - # FIXME: Need to set "params.text" when - # 'lspserver.caps.textDocumentSync.save.includeText' is set to true. + + if lspserver.caps.textDocumentSync.save.includeText + params.textDocument.text = bnr->getbufline(1, '$')->join("\n") .. "\n" + endif + lspserver.sendNotification('textDocument/didSave', params) enddef -- 2.44.0