diff --git a/crates/multi_buffer/src/multi_buffer.rs b/crates/multi_buffer/src/multi_buffer.rs index 41a253d97d78ef0bf1d16aae13a33fdb084f84e4..842dd78a1a94f608132657670d4599943b4b1429 100644 --- a/crates/multi_buffer/src/multi_buffer.rs +++ b/crates/multi_buffer/src/multi_buffer.rs @@ -2609,6 +2609,13 @@ impl MultiBuffer { pub fn add_diff(&mut self, diff: Entity, cx: &mut Context) { 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),