From f380c5b6c6dea276ac06baf798dfd39d755fc363 Mon Sep 17 00:00:00 2001 From: gabydd Date: Sat, 16 Dec 2023 02:04:40 -0500 Subject: [PATCH] when text document sync capability is only kind send didSave without text 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 e6e1f8a03301..5266d4b0de1a 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::(