diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2024-02-14 22:48:39 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-14 22:48:39 +0000 |
commit | 1ad754b4123009e01dbecb3b880e7f0545e46c2f (patch) | |
tree | 400ef028fc459827b3c9e0faded780d853531da5 /cli/lsp/language_server.rs | |
parent | 66baff763fad65e8b209763d5c8d16084a3ab60c (diff) |
feat(lsp): jsr support with cache probing (#22418)
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; |