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 }