From 4f8a094c114d4ad8c742311b3cce694cae28d079 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 6 Mar 2025 16:25:27 -0800 Subject: [PATCH] Fix early return when reaching end excerpt in `lift_buffer_metadata` (#26253) Release Notes: - Fixed a bug causing slowness when viewing multi buffers with lots of excerpts --- crates/multi_buffer/src/multi_buffer.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/multi_buffer/src/multi_buffer.rs b/crates/multi_buffer/src/multi_buffer.rs index b8595f5d866f81ac66338498294b8175e84c70b8..2d14a50870ef0029939ff60d54a67e2d07562b4b 100644 --- a/crates/multi_buffer/src/multi_buffer.rs +++ b/crates/multi_buffer/src/multi_buffer.rs @@ -3805,6 +3805,11 @@ impl MultiBufferSnapshot { // When there are no more metadata items for this excerpt, move to the next excerpt. else { current_excerpt_metadata.take(); + if let Some((end_excerpt_id, _)) = range_end { + if excerpt.id == end_excerpt_id { + return None; + } + } cursor.next_excerpt(); } })