From 1996e605671f12ca09e8f7213080875696864cbe Mon Sep 17 00:00:00 2001 From: titor Date: Mon, 6 Apr 2026 06:08:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20textarea=20-=20Enter=E7=BF=BB=E8=AF=91/C?= =?UTF-8?q?trl+Enter=E6=8D=A2=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/tui/app.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/internal/tui/app.go b/internal/tui/app.go index 9480af1..372e6d9 100644 --- a/internal/tui/app.go +++ b/internal/tui/app.go @@ -106,8 +106,14 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, nil case tea.KeyMsg: - switch msg.Type { - case tea.KeyEnter: + keyStr := msg.String() + switch { + case keyStr == "ctrl+enter": + m.textArea.InsertString("\n") + m.updateTextAreaHeight() + return m, nil + + case keyStr == "enter": if m.loading { return m, nil } @@ -119,26 +125,21 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.errMsg = "" return m, m.doTranslate(text, m.targetLang) - case tea.KeyCtrlJ: - m.textArea, cmd = m.textArea.Update(msg) - m.updateTextAreaHeight() - return m, cmd - - case tea.KeyCtrlC: + case keyStr == "ctrl+c": return m, tea.Quit - case tea.KeyCtrlL: + case keyStr == "ctrl+l": m.textArea.SetValue("") m.result = "" m.errMsg = "" return m, nil - case tea.KeyCtrlT: + case keyStr == "ctrl+t": m.langIndex = (m.langIndex + 1) % len(supportedLangs) m.targetLang = supportedLangs[m.langIndex] return m, nil - case tea.KeyEsc: + case keyStr == "esc": return m, tea.Quit }