diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2021-06-03 21:13:53 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-03 21:13:53 +1000 |
commit | 844a1317ec63e5ed5019e36a52dc3e7d3abfab8b (patch) | |
tree | 62dcb5345c537fba31c499d59d6185ec82fd488d /cli/lsp/language_server.rs | |
parent | 5a14827f9f0afd43c9cfc32fb0cb1844477e0e4c (diff) |
fix(#10775): diagnostics update on dependency changes (#10817)
Fixes #10775
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index 20d5c1ee7..cd8298573 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -627,6 +627,10 @@ impl Inner { if self.documents.is_diagnosable(&specifier) { self.analyze_dependencies(&specifier, ¶ms.text_document.text); + self + .diagnostics_server + .invalidate(self.documents.dependents(&specifier)) + .await; if let Err(err) = self.diagnostics_server.update() { error!("{}", err); } @@ -645,6 +649,10 @@ impl Inner { Ok(Some(source)) => { if self.documents.is_diagnosable(&specifier) { self.analyze_dependencies(&specifier, &source); + self + .diagnostics_server + .invalidate(self.documents.dependents(&specifier)) + .await; if let Err(err) = self.diagnostics_server.update() { error!("{}", err); } @@ -2511,7 +2519,7 @@ impl Inner { if let Some(source) = self.documents.content(&referrer).unwrap() { self.analyze_dependencies(&referrer, &source); } - self.diagnostics_server.invalidate(&referrer).await; + self.diagnostics_server.invalidate(vec![referrer]).await; } self.diagnostics_server.update().map_err(|err| { |