crates/multi_buffer/src/multi_buffer.rs 🔗
@@ -2609,6 +2609,13 @@ impl MultiBuffer {
pub fn add_diff(&mut self, diff: Entity<BufferDiff>, cx: &mut Context<Self>) {
let buffer_id = diff.read(cx).buffer_id;
+
+ if let Some(existing_diff) = self.diff_for(buffer_id)
+ && diff.entity_id() == existing_diff.entity_id()
+ {
+ return;
+ }
+
self.buffer_diff_changed(
diff.clone(),
text::Anchor::min_max_range_for_buffer(buffer_id),