From a700eed63c7e3c4938fc556b3f95b5d63aa8aa0e Mon Sep 17 00:00:00 2001 From: landon Date: Sat, 3 Oct 2026 15:32:17 -0500 Subject: [PATCH] Refresh Story Bible reference ranges when the header folds or unfolds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folding/unfolding the header moves the frontmatter in or out of `buffer`, shifting every char offset into it, but after_view_change() never recomputed current_references — so the cached ranges stayed pointing at pre-toggle positions and highlights landed on unrelated words. Recompute them alongside the other view-state invalidations it already does. Co-Authored-By: Claude Sonnet 5 --- src/app/workspace.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/app/workspace.rs b/src/app/workspace.rs index 3f53614..a4e5c48 100644 --- a/src/app/workspace.rs +++ b/src/app/workspace.rs @@ -541,6 +541,11 @@ impl App { self.spell_menu = None; self.clear_lt(); self.autocomplete = None; + // Story Bible reference ranges are char offsets into `buffer` too — + // stale ones (from before the header moved in or out) land on + // whatever text now happens to sit `header.len()` characters away + // from the real mention. + self.update_current_references(); } /// How many header fields are hidden right now, for the toggle's label.