mirror of
https://github.com/nushell/reedline.git
synced 2024-10-05 21:38:16 +03:00
Move left when exiting insert mode (#699)
Signed-off-by: Andrei Stan <andreistan2003@gmail.com>
This commit is contained in:
parent
ab1b47ef40
commit
02f551d42e
@ -136,8 +136,17 @@ impl EditMode for Vi {
|
||||
}
|
||||
(_, KeyModifiers::NONE, KeyCode::Esc) => {
|
||||
self.cache.clear();
|
||||
self.mode = ViMode::Normal;
|
||||
ReedlineEvent::Multiple(vec![ReedlineEvent::Esc, ReedlineEvent::Repaint])
|
||||
|
||||
ReedlineEvent::Multiple(vec![
|
||||
if self.mode == ViMode::Insert {
|
||||
self.mode = ViMode::Normal;
|
||||
ReedlineEvent::Left
|
||||
} else {
|
||||
ReedlineEvent::None
|
||||
},
|
||||
ReedlineEvent::Esc,
|
||||
ReedlineEvent::Repaint,
|
||||
])
|
||||
}
|
||||
(_, KeyModifiers::NONE, KeyCode::Enter) => {
|
||||
self.mode = ViMode::Insert;
|
||||
@ -188,7 +197,11 @@ mod test {
|
||||
|
||||
assert_eq!(
|
||||
result,
|
||||
ReedlineEvent::Multiple(vec![ReedlineEvent::Esc, ReedlineEvent::Repaint])
|
||||
ReedlineEvent::Multiple(vec![
|
||||
ReedlineEvent::Left,
|
||||
ReedlineEvent::Esc,
|
||||
ReedlineEvent::Repaint
|
||||
])
|
||||
);
|
||||
assert!(matches!(vi.mode, ViMode::Normal));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user