summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-06-12 07:23:49 -0500
committeradamdottv <[email protected]>2025-06-12 16:00:25 -0500
commit98bd5109c20f7e83c2fd2c5ef0dc28796fc47315 (patch)
treea01d822ee34b16c9c4a2ebea9d5f206531b032d9
parent78f65e478933a5dee952c9bf2649d429027f075d (diff)
downloadopencode-98bd5109c20f7e83c2fd2c5ef0dc28796fc47315.tar.gz
opencode-98bd5109c20f7e83c2fd2c5ef0dc28796fc47315.zip
wip: refactoring tui
-rw-r--r--packages/tui/internal/components/chat/editor.go13
-rw-r--r--packages/tui/internal/tui/tui.go3
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)