summaryrefslogtreecommitdiff
path: root/helix-lsp/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-lsp/src/client.rs')
-rw-r--r--helix-lsp/src/client.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs
index e6e1f8a0..5266d4b0 100644
--- a/helix-lsp/src/client.rs
+++ b/helix-lsp/src/client.rs
@@ -969,20 +969,19 @@ impl Client {
) -> Option<impl Future<Output = Result<()>>> {
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::<lsp::notification::DidSaveTextDocument>(