mirror of
https://github.com/zed-industries/zed.git
synced 2024-09-19 18:41:56 +03:00
Clear SelectionGoal on input
This commit is contained in:
parent
acffc7e7f0
commit
f1c743286d
@ -2454,7 +2454,13 @@ impl Editor {
|
|||||||
let snapshot = this.buffer.read(cx).read(cx);
|
let snapshot = this.buffer.read(cx).read(cx);
|
||||||
let new_selections = resolve_multiple::<usize, _>(new_anchor_selections, &snapshot)
|
let new_selections = resolve_multiple::<usize, _>(new_anchor_selections, &snapshot)
|
||||||
.zip(new_selection_deltas)
|
.zip(new_selection_deltas)
|
||||||
.map(|(selection, delta)| selection.map(|e| e + delta))
|
.map(|(selection, delta)| Selection {
|
||||||
|
id: selection.id,
|
||||||
|
start: selection.start + delta,
|
||||||
|
end: selection.end + delta,
|
||||||
|
reversed: selection.reversed,
|
||||||
|
goal: SelectionGoal::None,
|
||||||
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
|
@ -635,3 +635,20 @@ async fn test_zero(cx: &mut gpui::TestAppContext) {
|
|||||||
the lazy dog"})
|
the lazy dog"})
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[gpui::test]
|
||||||
|
async fn test_selection_goal(cx: &mut gpui::TestAppContext) {
|
||||||
|
let mut cx = NeovimBackedTestContext::new(cx).await;
|
||||||
|
|
||||||
|
cx.set_shared_state(indoc! {"
|
||||||
|
;;ˇ;
|
||||||
|
Lorem Ipsum"})
|
||||||
|
.await;
|
||||||
|
|
||||||
|
cx.simulate_shared_keystrokes(["a", "down", "up", ";", "down", "up"])
|
||||||
|
.await;
|
||||||
|
cx.assert_shared_state(indoc! {"
|
||||||
|
;;;;ˇ
|
||||||
|
Lorem Ipsum"})
|
||||||
|
.await;
|
||||||
|
}
|
||||||
|
8
crates/vim/test_data/test_selection_goal.json
Normal file
8
crates/vim/test_data/test_selection_goal.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{"Put":{"state":";;ˇ;\nLorem Ipsum"}}
|
||||||
|
{"Key":"a"}
|
||||||
|
{"Key":"down"}
|
||||||
|
{"Key":"up"}
|
||||||
|
{"Key":";"}
|
||||||
|
{"Key":"down"}
|
||||||
|
{"Key":"up"}
|
||||||
|
{"Get":{"state":";;;;ˇ\nLorem Ipsum","mode":"Insert"}}
|
Loading…
Reference in New Issue
Block a user