Added ability to remap 0 if it is not part of a count (#2174)

* Added ability to remap 0

* Removed duplicated match body
This commit is contained in:
adaliaramon 2022-04-20 03:50:13 +02:00 committed by GitHub
parent 2a853cd41d
commit 94eba0e66a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -774,15 +774,15 @@ impl EditorView {
} }
fn command_mode(&mut self, mode: Mode, cxt: &mut commands::Context, event: KeyEvent) { fn command_mode(&mut self, mode: Mode, cxt: &mut commands::Context, event: KeyEvent) {
match event { match (event, cxt.editor.count) {
// count handling // count handling
key!(i @ '0'..='9') => { (key!(i @ '0'), Some(_)) | (key!(i @ '1'..='9'), _) => {
let i = i.to_digit(10).unwrap() as usize; let i = i.to_digit(10).unwrap() as usize;
cxt.editor.count = cxt.editor.count =
std::num::NonZeroUsize::new(cxt.editor.count.map_or(i, |c| c.get() * 10 + i)); std::num::NonZeroUsize::new(cxt.editor.count.map_or(i, |c| c.get() * 10 + i));
} }
// special handling for repeat operator // special handling for repeat operator
key!('.') if self.keymaps.pending().is_empty() => { (key!('.'), _) if self.keymaps.pending().is_empty() => {
// first execute whatever put us into insert mode // first execute whatever put us into insert mode
self.last_insert.0.execute(cxt); self.last_insert.0.execute(cxt);
// then replay the inputs // then replay the inputs