Fix escape not exiting insert mode ()

Regression due to  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:
Gokul Soumya 2021-09-05 17:50:11 +05:30 committed by GitHub
parent 183dcce992
commit 6e21a748b8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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);