Integrate diagnostic decorations and current-source Text input boundaries

This commit is contained in:
2026-09-13 04:47:30 -07:00
parent 16904398db
commit 92ff99eb54
98 changed files with 35959 additions and 208 deletions
+15 -1
View File
@@ -1158,7 +1158,16 @@ fn source(app: &App) -> View<'_, Message> {
publication.map(|p| (p.generation(), app.text_workspace.drawer_visit())),
diagnostics,
);
text_workspace::view(app, source_symbols::panel(app), guard.into())
// The complete byte/evidence comparison is shared by the summary and rows,
// once per visible References rebuild; no parser or second query is started.
let references_current =
app.text_workspace.drawer() == Some(DrawerTab::References) && app.source_results_current();
text_workspace::view(
app,
source_symbols::panel(app, references_current),
guard.into(),
references_current,
)
}
pub(crate) fn source_binding(
@@ -1580,3 +1589,8 @@ mod tests {
pub(crate) fn captured_text_drawer_resize(app: &App) -> Message {
text_workspace::capture_drawer_resize(app)
}
#[cfg(all(test, debug_assertions))]
pub(crate) fn captured_source_reference_stale_summary(app: &App) -> bool {
text_workspace::summary_visibility_tests::rendered_stale(app)
}