From 18b191d10d1c7f116bfadf56e13686cea96f0012 Mon Sep 17 00:00:00 2001 From: titor Date: Mon, 6 Apr 2026 06:15:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20textarea=20-=20Enter=E7=BF=BB=E8=AF=91/A?= =?UTF-8?q?lt+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, 11 insertions(+), 12 deletions(-) diff --git a/internal/tui/app.go b/internal/tui/app.go index 372e6d9..00b85db 100644 --- a/internal/tui/app.go +++ b/internal/tui/app.go @@ -106,14 +106,13 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, nil case tea.KeyMsg: - keyStr := msg.String() - switch { - case keyStr == "ctrl+enter": - m.textArea.InsertString("\n") - m.updateTextAreaHeight() - return m, nil - - case keyStr == "enter": + switch msg.Type { + case tea.KeyEnter: + if msg.Alt { + m.textArea.InsertString("\n") + m.updateTextAreaHeight() + return m, nil + } if m.loading { return m, nil } @@ -125,21 +124,21 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.errMsg = "" return m, m.doTranslate(text, m.targetLang) - case keyStr == "ctrl+c": + case tea.KeyCtrlC: return m, tea.Quit - case keyStr == "ctrl+l": + case tea.KeyCtrlL: m.textArea.SetValue("") m.result = "" m.errMsg = "" return m, nil - case keyStr == "ctrl+t": + case tea.KeyCtrlT: m.langIndex = (m.langIndex + 1) % len(supportedLangs) m.targetLang = supportedLangs[m.langIndex] return m, nil - case keyStr == "esc": + case tea.KeyEsc: return m, tea.Quit }