Fix escape not exiting insert mode (#712)
Regression due to #635 where escape key in insert mode would not exit normal mode. This happened due to hard coding the escape key to cancel a sticky keymap node.
This commit is contained in:
parent
183dcce992
commit
6e21a748b8
1 changed files with 7 additions and 6 deletions
|
@ -287,13 +287,14 @@ impl Keymap {
|
|||
/// sticky node is in use, it will be cleared.
|
||||
pub fn get(&mut self, key: KeyEvent) -> KeymapResult {
|
||||
if let key!(Esc) = key {
|
||||
if self.state.is_empty() {
|
||||
self.sticky = None;
|
||||
if !self.state.is_empty() {
|
||||
return KeymapResult::new(
|
||||
// Note that Esc is not included here
|
||||
KeymapResultKind::Cancelled(self.state.drain(..).collect()),
|
||||
self.sticky(),
|
||||
);
|
||||
}
|
||||
return KeymapResult::new(
|
||||
KeymapResultKind::Cancelled(self.state.drain(..).collect()),
|
||||
self.sticky(),
|
||||
);
|
||||
self.sticky = None;
|
||||
}
|
||||
|
||||
let first = self.state.get(0).unwrap_or(&key);
|
||||
|
|
Loading…
Reference in a new issue