diff --git a/zed/src/editor/buffer_view.rs b/zed/src/editor/buffer_view.rs index 877858a36f4d7c0508ec159ee1b0d7cd639cbab3..0cd948809183d29f0d6b2bfae4f785a7b4ac22bc 100644 --- a/zed/src/editor/buffer_view.rs +++ b/zed/src/editor/buffer_view.rs @@ -1692,13 +1692,15 @@ impl BufferView { } pub fn split_selection_into_lines(&mut self, _: &(), ctx: &mut ViewContext) { + use super::RangeExt; + let app = ctx.as_ref(); let buffer = self.buffer.read(app); let mut to_unfold = Vec::new(); let mut new_selections = Vec::new(); for selection in self.selections(app) { - let range = selection.range(buffer); + let range = selection.range(buffer).sorted(); if range.start.row != range.end.row { new_selections.push(Selection { start: selection.start.clone(), @@ -3446,7 +3448,7 @@ mod tests { view.update(app, |view, ctx| { view.select_display_ranges( - &[DisplayPoint::new(0, 1)..DisplayPoint::new(4, 0)], + &[DisplayPoint::new(4, 0)..DisplayPoint::new(0, 1)], ctx, ) .unwrap();