updated capabilities
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -175,13 +175,15 @@ impl RustAnalyzer {
|
||||
|
||||
let value = rx.await?;
|
||||
|
||||
let envelope: JsonRpcResponse<R::Result> = serde_json::from_value(value)?;
|
||||
let envelope: JsonRpcResponse<R::Result> = 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<T: Serialize>(&mut self, method: &str, req: T) -> std::io::Result<()> {
|
||||
|
||||
Reference in New Issue
Block a user