summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2024-11-06 06:26:46 +0000
committerGitHub <noreply@github.com>2024-11-06 06:26:46 +0000
commit5088b25f2315fa45e912377356a89ba2a44dbcda (patch)
tree52d41a8da5e8ab84dcc6eb59c7ca902e9d7b25b9 /cli/lsp/language_server.rs
parentef7432c03f83ad9e9ca2812d0ab5653e87fa5259 (diff)
feat(lsp): auto-import completions from byonm dependencies (#26680)
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r--cli/lsp/language_server.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index 61a02f036..2554fa34b 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -1837,7 +1837,7 @@ impl Inner {
fix_ts_import_changes(
&code_action_data.specifier,
&combined_code_actions.changes,
- &self.get_ts_response_import_mapper(&code_action_data.specifier),
+ self,
)
.map_err(|err| {
error!("Unable to remap changes: {:#}", err);
@@ -1890,7 +1890,7 @@ impl Inner {
refactor_edit_info.edits = fix_ts_import_changes(
&action_data.specifier,
&refactor_edit_info.edits,
- &self.get_ts_response_import_mapper(&action_data.specifier),
+ self,
)
.map_err(|err| {
error!("Unable to remap changes: {:#}", err);
@@ -1921,7 +1921,8 @@ impl Inner {
// todo(dsherret): this should probably just take the resolver itself
// as the import map is an implementation detail
.and_then(|d| d.resolver.maybe_import_map()),
- self.resolver.as_ref(),
+ &self.resolver,
+ &self.ts_server.specifier_map,
file_referrer,
)
}
@@ -2284,7 +2285,11 @@ impl Inner {
.into(),
scope.cloned(),
)
- .await;
+ .await
+ .unwrap_or_else(|err| {
+ error!("Unable to get completion info from TypeScript: {:#}", err);
+ None
+ });
if let Some(completions) = maybe_completion_info {
response = Some(