From f27fdb2bf4da1e9b1e0a0c8e7688e738379ba33b Mon Sep 17 00:00:00 2001 From: Gabriel Dinner-David <82682503+gabydd@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:59:04 -0500 Subject: [PATCH] when text document sync capability is only kind send didSave without text (#9101) see https://github.com/microsoft/language-server-protocol/issues/288 for details --- helix-lsp/src/client.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs index e6e1f8a03..5266d4b0d 100644 --- a/helix-lsp/src/client.rs +++ b/helix-lsp/src/client.rs @@ -969,20 +969,19 @@ impl Client { ) -> Option>> { let capabilities = self.capabilities.get().unwrap(); - let include_text = match &capabilities.text_document_sync { - Some(lsp::TextDocumentSyncCapability::Options(lsp::TextDocumentSyncOptions { - save: Some(options), + let include_text = match &capabilities.text_document_sync.as_ref()? { + lsp::TextDocumentSyncCapability::Options(lsp::TextDocumentSyncOptions { + save: options, .. - })) => match options { + }) => match options.as_ref()? { lsp::TextDocumentSyncSaveOptions::Supported(true) => false, lsp::TextDocumentSyncSaveOptions::SaveOptions(lsp_types::SaveOptions { include_text, }) => include_text.unwrap_or(false), - // Supported(false) - _ => return None, + lsp::TextDocumentSyncSaveOptions::Supported(false) => return None, }, - // unsupported - _ => return None, + // see: https://github.com/microsoft/language-server-protocol/issues/288 + lsp::TextDocumentSyncCapability::Kind(..) => false, }; Some(self.notify::(