mirror of
https://github.com/denoland/deno.git
synced 2024-11-27 16:10:57 -05:00
fix(lsp): don't error if completionItem/resolve request fails (#17250)
This commit is contained in:
parent
7177768e49
commit
a012d731ee
1 changed files with 23 additions and 20 deletions
|
@ -1959,13 +1959,10 @@ impl Inner {
|
|||
if let Some(data) = &data.tsc {
|
||||
let specifier = &data.specifier;
|
||||
let req = tsc::RequestMethod::GetCompletionDetails(data.into());
|
||||
let maybe_completion_info: Option<tsc::CompletionEntryDetails> =
|
||||
self.ts_server.request(self.snapshot(), req).await.map_err(
|
||||
|err| {
|
||||
error!("Unable to get completion info from TypeScript: {}", err);
|
||||
LspError::internal_error()
|
||||
},
|
||||
)?;
|
||||
let result: Result<Option<tsc::CompletionEntryDetails>, _> =
|
||||
self.ts_server.request(self.snapshot(), req).await;
|
||||
match result {
|
||||
Ok(maybe_completion_info) => {
|
||||
if let Some(completion_info) = maybe_completion_info {
|
||||
completion_info
|
||||
.as_completion_item(¶ms, data, specifier, self)
|
||||
|
@ -1982,6 +1979,12 @@ impl Inner {
|
|||
);
|
||||
params
|
||||
}
|
||||
}
|
||||
Err(err) => {
|
||||
error!("Unable to get completion info from TypeScript: {}", err);
|
||||
return Ok(params);
|
||||
}
|
||||
}
|
||||
} else if let Some(url) = data.documentation {
|
||||
CompletionItem {
|
||||
documentation: self.module_registries.get_documentation(&url).await,
|
||||
|
|
Loading…
Reference in a new issue