mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
Clear counts when switching modes
This commit is contained in:
parent
d868d00985
commit
76d55244a1
@ -574,3 +574,22 @@ async fn test_folds(cx: &mut gpui::TestAppContext) {
|
||||
"})
|
||||
.await;
|
||||
}
|
||||
|
||||
#[gpui::test]
|
||||
async fn test_clear_counts(cx: &mut gpui::TestAppContext) {
|
||||
let mut cx = NeovimBackedTestContext::new(cx).await;
|
||||
|
||||
cx.set_shared_state(indoc! {"
|
||||
The quick brown
|
||||
fox juˇmps over
|
||||
the lazy dog"})
|
||||
.await;
|
||||
|
||||
cx.simulate_shared_keystrokes(["4", "escape", "3", "d", "l"])
|
||||
.await;
|
||||
cx.set_shared_state(indoc! {"
|
||||
The quick brown
|
||||
fox juˇ over
|
||||
the lazy dog"})
|
||||
.await;
|
||||
}
|
||||
|
@ -308,6 +308,9 @@ impl Vim {
|
||||
state.mode = mode;
|
||||
state.operator_stack.clear();
|
||||
});
|
||||
if mode != Mode::Insert {
|
||||
self.take_count();
|
||||
}
|
||||
|
||||
cx.emit_global(VimEvent::ModeChanged { mode });
|
||||
|
||||
@ -412,6 +415,7 @@ impl Vim {
|
||||
popped_operator
|
||||
}
|
||||
fn clear_operator(&mut self, cx: &mut WindowContext) {
|
||||
self.take_count();
|
||||
self.update_state(|state| state.operator_stack.clear());
|
||||
self.sync_vim_settings(cx);
|
||||
}
|
||||
|
7
crates/vim/test_data/test_clear_counts.json
Normal file
7
crates/vim/test_data/test_clear_counts.json
Normal file
@ -0,0 +1,7 @@
|
||||
{"Put":{"state":"The quick brown\nfox juˇmps over\nthe lazy dog"}}
|
||||
{"Key":"4"}
|
||||
{"Key":"escape"}
|
||||
{"Key":"3"}
|
||||
{"Key":"d"}
|
||||
{"Key":"l"}
|
||||
{"Put":{"state":"The quick brown\nfox juˇ over\nthe lazy dog"}}
|
Loading…
Reference in New Issue
Block a user