diff options
Diffstat (limited to 'cli/lsp/tsc.rs')
-rw-r--r-- | cli/lsp/tsc.rs | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs index 94770603c..e664c1b0e 100644 --- a/cli/lsp/tsc.rs +++ b/cli/lsp/tsc.rs @@ -3,7 +3,6 @@ use super::analysis::CodeActionData; use super::code_lens; use super::config; -use super::documents::file_like_to_file_specifier; use super::documents::AssetOrDocument; use super::documents::DocumentsFilter; use super::language_server; @@ -257,9 +256,9 @@ impl TsServer { .map(|s| self.specifier_map.denormalize(&s)) .collect::<Vec<String>>(),]), }; - let diagnostics_map_ = self.request_with_cancellation::<HashMap<String, Vec<crate::tsc::Diagnostic>>>(snapshot, req, token).await?; - let mut diagnostics_map = HashMap::new(); - for (mut specifier, mut diagnostics) in diagnostics_map_ { + let raw_diagnostics = self.request_with_cancellation::<HashMap<String, Vec<crate::tsc::Diagnostic>>>(snapshot, req, token).await?; + let mut diagnostics_map = HashMap::with_capacity(raw_diagnostics.len()); + for (mut specifier, mut diagnostics) in raw_diagnostics { specifier = self.specifier_map.normalize(&specifier)?.to_string(); for diagnostic in &mut diagnostics { normalize_diagnostic(diagnostic, &self.specifier_map)?; @@ -3715,16 +3714,8 @@ impl TscSpecifierMap { if let Some(specifier) = self.denormalized_specifiers.get(original) { return specifier.to_string(); } - let mut specifier = if let Some(s) = file_like_to_file_specifier(original) { - s.to_string() - } else { - original.to_string() - }; - let media_type = if original.scheme() == "deno-notebook-cell" { - MediaType::TypeScript - } else { - MediaType::from_specifier(original) - }; + let mut specifier = original.to_string(); + let media_type = MediaType::from_specifier(original); // If the URL-inferred media type doesn't correspond to tsc's path-inferred // media type, force it to be the same by appending an extension. if MediaType::from_path(Path::new(specifier.as_str())) != media_type { |