mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-28 11:29:25 +00:00
Addresses issue where left motion in vim mode would clip in the wrong direction
This commit is contained in:
parent
5acae094bd
commit
b6c5c7871e
3 changed files with 8 additions and 1 deletions
|
@ -266,7 +266,7 @@ impl Motion {
|
|||
fn left(map: &DisplaySnapshot, mut point: DisplayPoint, times: usize) -> DisplayPoint {
|
||||
for _ in 0..times {
|
||||
*point.column_mut() = point.column().saturating_sub(1);
|
||||
point = map.clip_point(point, Bias::Right);
|
||||
point = map.clip_point(point, Bias::Left);
|
||||
if point.column() == 0 {
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -851,4 +851,10 @@ mod test {
|
|||
.await;
|
||||
}
|
||||
}
|
||||
|
||||
#[gpui::test]
|
||||
async fn test_h_through_unicode(cx: &mut gpui::TestAppContext) {
|
||||
let mut cx = NeovimBackedTestContext::new(cx).await.binding(["h"]);
|
||||
cx.assert_all("Testˇ├ˇ──ˇ┐ˇTest").await;
|
||||
}
|
||||
}
|
||||
|
|
1
crates/vim/test_data/test_h_through_unicode.json
Normal file
1
crates/vim/test_data/test_h_through_unicode.json
Normal file
|
@ -0,0 +1 @@
|
|||
[{"Text":"Test├──┐Test"},{"Mode":"Normal"},{"Selection":{"start":[0,3],"end":[0,3]}},{"Mode":"Normal"},{"Text":"Test├──┐Test"},{"Mode":"Normal"},{"Selection":{"start":[0,4],"end":[0,4]}},{"Mode":"Normal"},{"Text":"Test├──┐Test"},{"Mode":"Normal"},{"Selection":{"start":[0,10],"end":[0,10]}},{"Mode":"Normal"},{"Text":"Test├──┐Test"},{"Mode":"Normal"},{"Selection":{"start":[0,13],"end":[0,13]}},{"Mode":"Normal"}]
|
Loading…
Reference in a new issue