updated capabilities
This commit is contained in:
@@ -102,11 +102,19 @@ impl LanguageServer for Backend {
|
|||||||
|
|
||||||
res.capabilities.completion_provider = Some(CompletionOptions {
|
res.capabilities.completion_provider = Some(CompletionOptions {
|
||||||
resolve_provider: Some(true),
|
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 {
|
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));
|
res.capabilities.definition_provider = Some(OneOf::Left(true));
|
||||||
|
|||||||
@@ -175,13 +175,15 @@ impl RustAnalyzer {
|
|||||||
|
|
||||||
let value = rx.await?;
|
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 {
|
if let Some(err) = envelope.error {
|
||||||
return Err(format!("LSP Error ({}): {}", err.code, err.message).into());
|
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<()> {
|
pub async fn notify<T: Serialize>(&mut self, method: &str, req: T) -> std::io::Result<()> {
|
||||||
|
|||||||
Reference in New Issue
Block a user