diff options
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index e775790fe..7aa4fdc99 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -362,23 +362,11 @@ impl LanguageServer { .client .show_message(MessageType::WARNING, err); } - let mut lockfile_content_changed = false; - if let Some(lockfile) = self.0.read().await.config.maybe_lockfile() { - let lockfile = lockfile.lock(); - let path = lockfile.filename.clone(); - if let Ok(new_lockfile) = Lockfile::new(path, false) { - lockfile_content_changed = FastInsecureHasher::hash(&*lockfile) - != FastInsecureHasher::hash(new_lockfile); - } else { - lockfile_content_changed = true; - } - } - if lockfile_content_changed { - // TODO(nayeemrmn): Remove this branch when the documents config no - // longer depends on the lockfile for JSR resolution. - self.0.write().await.refresh_documents_config().await; - } else { - self.0.write().await.refresh_npm_specifiers().await; + { + let mut inner = self.0.write().await; + let lockfile = inner.config.maybe_lockfile().cloned(); + inner.documents.refresh_jsr_resolver(lockfile); + inner.refresh_npm_specifiers().await; } // now refresh the data in a read self.0.read().await.post_cache(result.mark).await; |