From 5a6adbc5e4c88bac339512be5e45964c7d255a91 Mon Sep 17 00:00:00 2001 From: Selimaj Dev Date: Sun, 24 May 2026 16:19:51 +0200 Subject: [PATCH] updated capabilities --- crates/analyzer/src/lib.rs | 14 +++++++++++--- crates/analyzer/src/rust_analyzer.rs | 6 ++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/crates/analyzer/src/lib.rs b/crates/analyzer/src/lib.rs index 75f9a6f..be45dbd 100644 --- a/crates/analyzer/src/lib.rs +++ b/crates/analyzer/src/lib.rs @@ -102,11 +102,19 @@ impl LanguageServer for Backend { res.capabilities.completion_provider = Some(CompletionOptions { resolve_provider: Some(true), - trigger_characters: Some(vec![".".to_string()]), + trigger_characters: Some(vec![ + ":".to_owned(), + ".".to_owned(), + "'".to_owned(), + "(".to_owned(), + ]), + all_commit_characters: None, completion_item: Some(CompletionOptionsCompletionItem { - label_details_support: Some(true), + label_details_support: None, }), - ..Default::default() + work_done_progress_options: WorkDoneProgressOptions { + work_done_progress: None, + }, }); res.capabilities.definition_provider = Some(OneOf::Left(true)); diff --git a/crates/analyzer/src/rust_analyzer.rs b/crates/analyzer/src/rust_analyzer.rs index e2cc377..b7e584d 100644 --- a/crates/analyzer/src/rust_analyzer.rs +++ b/crates/analyzer/src/rust_analyzer.rs @@ -175,13 +175,15 @@ impl RustAnalyzer { let value = rx.await?; - let envelope: JsonRpcResponse = serde_json::from_value(value)?; + let envelope: JsonRpcResponse = serde_json::from_value(value.clone())?; if let Some(err) = envelope.error { return Err(format!("LSP Error ({}): {}", err.code, err.message).into()); } - envelope.result.ok_or_else(|| "missing result".into()) + envelope + .result + .ok_or_else(|| format!("missing result: {:?}", value).into()) } pub async fn notify(&mut self, method: &str, req: T) -> std::io::Result<()> {