diff options
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| { |