diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-22 09:34:20 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-22 09:34:23 +0100 |
| commit | b3d11e9787ac11c41949dea044b57afdbcc5836a (patch) | |
| tree | c9555252d469aba3e4ecaae301f7db66e72cdbfc | |
| parent | 6dab452ef4ae69d39635e96153b009b6ada2f8f8 (diff) | |
| download | qwe-editor-b3d11e9787ac11c41949dea044b57afdbcc5836a.tar.gz | |
Fix key event fallthrough
| -rw-r--r-- | kevent.go | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -121,6 +121,11 @@ func (e *Editor) handleNormalMode(ev termbox.Event) { e.triggerHover() } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case 'i': e.saveState() @@ -640,6 +645,11 @@ func (e *Editor) handleVisualMode(ev termbox.Event) { e.moveCursor(0, 1) } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case Config.LeaderKey: e.pendingKey = Config.LeaderKey @@ -740,6 +750,11 @@ func (e *Editor) handleVisualLineMode(ev termbox.Event) { e.moveCursor(0, 1) } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case Config.LeaderKey: e.pendingKey = Config.LeaderKey @@ -839,6 +854,11 @@ func (e *Editor) handleVisualBlockMode(ev termbox.Event) { e.moveCursor(0, 1) } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case Config.LeaderKey: e.pendingKey = Config.LeaderKey @@ -947,6 +967,11 @@ func (e *Editor) handleConfirmMode(ev termbox.Event) { return } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case 'y', 'Y': if e.pendingConfirm != nil { |
