Eagerly refresh diagnostics that do not intercept with user input

This commit is contained in:
Kirill Bulatov 2023-11-05 14:44:22 +02:00
parent 660c3371e4
commit 7145fabb6d

View File

@ -165,6 +165,12 @@ impl ProjectDiagnosticsEditor {
log::debug!("Adding path {path:?} to update for server {language_server_id}");
this.paths_to_update
.insert((path.clone(), *language_server_id));
let no_multiselections = this.editor.update(cx, |editor, cx| {
editor.selections.all::<usize>(cx).len() <= 1
});
if no_multiselections && !this.is_dirty(cx) {
this.update_excerpts(Some(*language_server_id), cx);
}
}
_ => {}
});