From d9eb3c4b35eb577b37c777c0f9dd874bb45eda77 Mon Sep 17 00:00:00 2001 From: DissolveDZ <68782699+DissolveDZ@users.noreply.github.com> Date: Fri, 26 Apr 2024 03:47:12 +0200 Subject: [PATCH] vim: Fix hollow cursor being offset when selecting text (#11000) Fixed the cursor selection being offset, the hollow cursor was being displayed fine when not having text selected that's why it might not have been noticed at first. Release Notes: - N/A Improved: https://github.com/zed-industries/zed/commit/0d6fb08b67e26f5e6abd14ff51b3a9ba1d89b9c0 --- crates/editor/src/element.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index 14e5af444aa56f84dd0c1ccdcf5f80f0a2f2918f..ada5e353e50a673181156af9fc6e4a537021ef84 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -89,7 +89,10 @@ impl SelectionLayout { } // any vim visual mode (including line mode) - if cursor_shape == CursorShape::Block && !range.is_empty() && !selection.reversed { + if (cursor_shape == CursorShape::Block || cursor_shape == CursorShape::Hollow) + && !range.is_empty() + && !selection.reversed + { if head.column() > 0 { head = map.clip_point(DisplayPoint::new(head.row(), head.column() - 1), Bias::Left) } else if head.row() > 0 && head != map.max_point() {