summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r--cli/lsp/language_server.rs10
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, &params.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| {