Clear path-based excerpt data properly (cherry-pick #28026) (#28082)

gcp-cherry-pick-bot[bot] , Kirill Bulatov , and Conrad Irwin created

Cherry-picked Clear path-based excerpt data properly (#28026)

Follow-up of https://github.com/zed-industries/zed/pull/27893

Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Change summary

crates/multi_buffer/src/multi_buffer.rs | 3 +++
1 file changed, 3 insertions(+)

Detailed changes

crates/multi_buffer/src/multi_buffer.rs 🔗

@@ -2041,6 +2041,8 @@ impl MultiBuffer {
         self.sync(cx);
         let ids = self.excerpt_ids();
         self.buffers.borrow_mut().clear();
+        self.excerpts_by_path.clear();
+        self.paths_by_excerpt.clear();
         let mut snapshot = self.snapshot.borrow_mut();
         let start = ExcerptOffset::new(0);
         let prev_len = ExcerptOffset::new(snapshot.excerpts.summary().text.len);
@@ -2049,6 +2051,7 @@ impl MultiBuffer {
         snapshot.is_dirty = false;
         snapshot.has_deleted_file = false;
         snapshot.has_conflict = false;
+        snapshot.replaced_excerpts.clear();
 
         self.sync_diff_transforms(
             &mut snapshot,