diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2024-04-02 23:02:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-02 23:02:50 +0100 |
commit | 2b1c6e172e141c47eda65de2dedcac2a8e2abe84 (patch) | |
tree | c1e0e815490b0d23063eef58c3cb5e342b90f078 /cli/lsp/analysis.rs | |
parent | 3b9fd1af804e4fe534798ec2d7da440d97ba610c (diff) |
feat(lsp): respect nested deno.json for fmt and lint config (#23159)
Diffstat (limited to 'cli/lsp/analysis.rs')
-rw-r--r-- | cli/lsp/analysis.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/cli/lsp/analysis.rs b/cli/lsp/analysis.rs index cd7d45928..ce5d0c7f4 100644 --- a/cli/lsp/analysis.rs +++ b/cli/lsp/analysis.rs @@ -43,7 +43,6 @@ use std::cmp::Ordering; use std::collections::HashMap; use std::collections::HashSet; use std::path::Path; -use std::sync::Arc; use tower_lsp::lsp_types as lsp; use tower_lsp::lsp_types::Position; use tower_lsp::lsp_types::Range; @@ -217,7 +216,7 @@ fn code_as_string(code: &Option<lsp::NumberOrString>) -> String { /// Rewrites imports in quick fixes and code changes to be Deno specific. pub struct TsResponseImportMapper<'a> { documents: &'a Documents, - maybe_import_map: Option<Arc<ImportMap>>, + maybe_import_map: Option<&'a ImportMap>, node_resolver: Option<&'a CliNodeResolver>, npm_resolver: Option<&'a dyn CliNpmResolver>, } @@ -225,7 +224,7 @@ pub struct TsResponseImportMapper<'a> { impl<'a> TsResponseImportMapper<'a> { pub fn new( documents: &'a Documents, - maybe_import_map: Option<Arc<ImportMap>>, + maybe_import_map: Option<&'a ImportMap>, node_resolver: Option<&'a CliNodeResolver>, npm_resolver: Option<&'a dyn CliNpmResolver>, ) -> Self { @@ -270,7 +269,7 @@ impl<'a> TsResponseImportMapper<'a> { let sub_path = (export != ".").then_some(export); let mut req = None; req = req.or_else(|| { - let import_map = self.maybe_import_map.as_ref()?; + let import_map = self.maybe_import_map?; for entry in import_map.entries_for_referrer(referrer) { let Some(value) = entry.raw_value else { continue; @@ -297,7 +296,7 @@ impl<'a> TsResponseImportMapper<'a> { JsrPackageNvReference::new(nv_ref).to_string() }; let specifier = ModuleSpecifier::parse(&spec_str).ok()?; - if let Some(import_map) = &self.maybe_import_map { + if let Some(import_map) = self.maybe_import_map { if let Some(result) = import_map.lookup(&specifier, referrer) { return Some(result); } @@ -316,7 +315,7 @@ impl<'a> TsResponseImportMapper<'a> { // check if any pkg reqs match what is found in an import map if !pkg_reqs.is_empty() { let sub_path = self.resolve_package_path(specifier); - if let Some(import_map) = &self.maybe_import_map { + if let Some(import_map) = self.maybe_import_map { let pkg_reqs = pkg_reqs.iter().collect::<HashSet<_>>(); let mut matches = Vec::new(); for entry in import_map.entries_for_referrer(referrer) { @@ -358,7 +357,7 @@ impl<'a> TsResponseImportMapper<'a> { } // check if the import map has this specifier - if let Some(import_map) = &self.maybe_import_map { + if let Some(import_map) = self.maybe_import_map { if let Some(result) = import_map.lookup(specifier, referrer) { return Some(result); } |