summaryrefslogtreecommitdiff
path: root/cli/lsp/documents.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2024-08-12 15:45:27 +0100
committerGitHub <noreply@github.com>2024-08-12 15:45:27 +0100
commit9bdab6fb6b93eb43b1930f40987fa4997287f9c8 (patch)
tree127e361385f30d3370f105cad14ad1a902fa3a03 /cli/lsp/documents.rs
parent56e8ed5eb1a6f2880c96fc8f08e35a6dd83aad8b (diff)
fix(lsp): directly use file referrer when loading document (#24997)
Diffstat (limited to 'cli/lsp/documents.rs')
-rw-r--r--cli/lsp/documents.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs
index 57e48fbc3..e91cfe0ac 100644
--- a/cli/lsp/documents.rs
+++ b/cli/lsp/documents.rs
@@ -1180,11 +1180,10 @@ impl Documents {
pub fn get_or_load(
&self,
specifier: &ModuleSpecifier,
- referrer: &ModuleSpecifier,
+ file_referrer: Option<&ModuleSpecifier>,
) -> Option<Arc<Document>> {
- let file_referrer = self.get_file_referrer(referrer);
let specifier =
- self.resolve_document_specifier(specifier, file_referrer.as_deref())?;
+ self.resolve_document_specifier(specifier, file_referrer)?;
if let Some(document) = self.open_docs.get(&specifier) {
Some(document.clone())
} else {
@@ -1193,7 +1192,7 @@ impl Documents {
&self.resolver,
&self.config,
&self.cache,
- file_referrer.as_deref(),
+ file_referrer,
)
}
}
@@ -1464,7 +1463,7 @@ impl Documents {
specifier = s;
media_type = Some(mt);
}
- let Some(doc) = self.get_or_load(&specifier, referrer) else {
+ let Some(doc) = self.get_or_load(&specifier, file_referrer) else {
let media_type =
media_type.unwrap_or_else(|| MediaType::from_specifier(&specifier));
return Some((specifier, media_type));