diff options
| author | adamdottv <[email protected]> | 2025-06-12 07:23:49 -0500 |
|---|---|---|
| committer | adamdottv <[email protected]> | 2025-06-12 16:00:25 -0500 |
| commit | 98bd5109c20f7e83c2fd2c5ef0dc28796fc47315 (patch) | |
| tree | a01d822ee34b16c9c4a2ebea9d5f206531b032d9 | |
| parent | 78f65e478933a5dee952c9bf2649d429027f075d (diff) | |
| download | opencode-98bd5109c20f7e83c2fd2c5ef0dc28796fc47315.tar.gz opencode-98bd5109c20f7e83c2fd2c5ef0dc28796fc47315.zip | |
wip: refactoring tui
| -rw-r--r-- | packages/tui/internal/components/chat/editor.go | 13 | ||||
| -rw-r--r-- | packages/tui/internal/tui/tui.go | 3 |
2 files changed, 13 insertions, 3 deletions
diff --git a/packages/tui/internal/components/chat/editor.go b/packages/tui/internal/components/chat/editor.go index 89662ce6f..d1b8bd7fa 100644 --- a/packages/tui/internal/components/chat/editor.go +++ b/packages/tui/internal/components/chat/editor.go @@ -56,12 +56,12 @@ type DeleteAttachmentKeyMaps struct { var editorMaps = EditorKeyMaps{ Send: key.NewBinding( - key.WithKeys("enter", "ctrl+s"), + key.WithKeys("enter"), key.WithHelp("enter", "send message"), ), OpenEditor: key.NewBinding( - key.WithKeys("ctrl+e"), - key.WithHelp("ctrl+e", "open editor"), + key.WithKeys("f12"), + key.WithHelp("f12", "open editor"), ), Paste: key.NewBinding( key.WithKeys("ctrl+v"), @@ -118,6 +118,13 @@ func (m *editorComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } m.attachments = append(m.attachments, msg.Attachment) case tea.KeyMsg: + switch msg.String() { + case "shift+enter": + value := m.textarea.Value() + m.textarea.SetValue(value + "\n") + return m, nil + } + if key.Matches(msg, DeleteKeyMaps.AttachmentDeleteMode) { m.deleteMode = true return m, nil diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go index 29ce635d6..e1a1b6abb 100644 --- a/packages/tui/internal/tui/tui.go +++ b/packages/tui/internal/tui/tui.go @@ -193,12 +193,15 @@ func (a appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { var cmds []tea.Cmd var cmd tea.Cmd switch msg := msg.(type) { + case tea.BackgroundColorMsg: styles.Terminal = &styles.TerminalInfo{ BackgroundIsDark: msg.IsDark(), } + case cursor.BlinkMsg: return a.updateAllPages(msg) + case spinner.TickMsg: return a.updateAllPages(msg) |
