diff --git a/crates/editor/src/lib.rs b/crates/editor/src/lib.rs index 020d7593cf..4443d23ad7 100644 --- a/crates/editor/src/lib.rs +++ b/crates/editor/src/lib.rs @@ -751,6 +751,16 @@ impl Editor { if !add { self.update_selections::(Vec::new(), false, cx); + } else if click_count > 1 { + // Remove the newest selection since it was only added as part of this multi-click. + let newest_selection = self.newest_selection::(cx); + self.update_selections::( + self.selections(cx) + .filter(|selection| selection.id != newest_selection.id) + .collect(), + false, + cx, + ) } self.pending_selection = Some(PendingSelection { selection, mode });