From 91ad64fedaafe7ef2864d6a2a2ea695c63c05432 Mon Sep 17 00:00:00 2001 From: Timo Clasen Date: Thu, 17 Jul 2025 11:27:02 +0200 Subject: [PATCH] fix(tui): user defined ctrl+z should take precedence over suspending (#1088) --- packages/tui/internal/tui/tui.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go index 6210ab7b..e5b578bc 100644 --- a/packages/tui/internal/tui/tui.go +++ b/packages/tui/internal/tui/tui.go @@ -110,11 +110,6 @@ func (a appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case tea.KeyPressMsg: keyString := msg.String() - // Handle Ctrl+Z for suspend - if keyString == "ctrl+z" { - return a, tea.Suspend - } - // 1. Handle active modal if a.modal != nil { switch keyString { @@ -277,6 +272,11 @@ func (a appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return a, util.CmdHandler(commands.ExecuteCommandsMsg(matches)) } + // Fallback: suspend if ctrl+z is pressed and no user keybind matched + if keyString == "ctrl+z" { + return a, tea.Suspend + } + // 10. Fallback to editor. This is for other characters like backspace, tab, etc. updatedEditor, cmd := a.editor.Update(msg) a.editor = updatedEditor.(chat.EditorComponent)