diff options
Diffstat (limited to 'internal/tui/components/chat')
| -rw-r--r-- | internal/tui/components/chat/editor.go | 22 | ||||
| -rw-r--r-- | internal/tui/components/chat/list.go | 37 |
2 files changed, 33 insertions, 26 deletions
diff --git a/internal/tui/components/chat/editor.go b/internal/tui/components/chat/editor.go index 982415182..99991cdf7 100644 --- a/internal/tui/components/chat/editor.go +++ b/internal/tui/components/chat/editor.go @@ -12,9 +12,9 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" "github.com/opencode-ai/opencode/internal/app" - "github.com/opencode-ai/opencode/internal/logging" "github.com/opencode-ai/opencode/internal/message" "github.com/opencode-ai/opencode/internal/session" + "github.com/opencode-ai/opencode/internal/status" "github.com/opencode-ai/opencode/internal/tui/components/dialog" "github.com/opencode-ai/opencode/internal/tui/layout" "github.com/opencode-ai/opencode/internal/tui/styles" @@ -87,7 +87,8 @@ func (m *editorCmp) openEditor(value string) tea.Cmd { tmpfile, err := os.CreateTemp("", "msg_*.md") tmpfile.WriteString(value) if err != nil { - return util.ReportError(err) + status.Error(err.Error()) + return nil } tmpfile.Close() c := exec.Command(editor, tmpfile.Name()) //nolint:gosec @@ -96,14 +97,17 @@ func (m *editorCmp) openEditor(value string) tea.Cmd { c.Stderr = os.Stderr return tea.ExecProcess(c, func(err error) tea.Msg { if err != nil { - return util.ReportError(err) + status.Error(err.Error()) + return nil } content, err := os.ReadFile(tmpfile.Name()) if err != nil { - return util.ReportError(err) + status.Error(err.Error()) + return nil } if len(content) == 0 { - return util.ReportWarn("Message is empty") + status.Warn("Message is empty") + return nil } os.Remove(tmpfile.Name()) attachments := m.attachments @@ -121,7 +125,8 @@ func (m *editorCmp) Init() tea.Cmd { func (m *editorCmp) send() tea.Cmd { if m.app.CoderAgent.IsSessionBusy(m.session.ID) { - return util.ReportWarn("Agent is working, please wait...") + status.Warn("Agent is working, please wait...") + return nil } value := m.textarea.Value() @@ -153,7 +158,7 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, nil case dialog.AttachmentAddedMsg: if len(m.attachments) >= maxAttachments { - logging.ErrorPersist(fmt.Sprintf("cannot add more than %d images", maxAttachments)) + status.Error(fmt.Sprintf("cannot add more than %d images", maxAttachments)) return m, cmd } m.attachments = append(m.attachments, msg.Attachment) @@ -185,7 +190,8 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } if key.Matches(msg, editorMaps.OpenEditor) { if m.app.CoderAgent.IsSessionBusy(m.session.ID) { - return m, util.ReportWarn("Agent is working, please wait...") + status.Warn("Agent is working, please wait...") + return m, nil } value := m.textarea.Value() m.textarea.Reset() diff --git a/internal/tui/components/chat/list.go b/internal/tui/components/chat/list.go index 83538eb3b..55f76c342 100644 --- a/internal/tui/components/chat/list.go +++ b/internal/tui/components/chat/list.go @@ -15,10 +15,10 @@ import ( "github.com/opencode-ai/opencode/internal/message" "github.com/opencode-ai/opencode/internal/pubsub" "github.com/opencode-ai/opencode/internal/session" + "github.com/opencode-ai/opencode/internal/status" "github.com/opencode-ai/opencode/internal/tui/components/dialog" "github.com/opencode-ai/opencode/internal/tui/styles" "github.com/opencode-ai/opencode/internal/tui/theme" - "github.com/opencode-ai/opencode/internal/tui/util" ) type cacheItem struct { @@ -26,17 +26,17 @@ type cacheItem struct { content []uiMessage } type messagesCmp struct { - app *app.App - width, height int - viewport viewport.Model - session session.Session - messages []message.Message - uiMessages []uiMessage - currentMsgID string - cachedContent map[string]cacheItem - spinner spinner.Model - rendering bool - attachments viewport.Model + app *app.App + width, height int + viewport viewport.Model + session session.Session + messages []message.Message + uiMessages []uiMessage + currentMsgID string + cachedContent map[string]cacheItem + spinner spinner.Model + rendering bool + attachments viewport.Model showToolMessages bool } type renderFinishedMsg struct{} @@ -447,7 +447,8 @@ func (m *messagesCmp) SetSession(session session.Session) tea.Cmd { m.session = session messages, err := m.app.Messages.List(context.Background(), session.ID) if err != nil { - return util.ReportError(err) + status.Error(err.Error()) + return nil } m.messages = messages if len(m.messages) > 0 { @@ -483,11 +484,11 @@ func NewMessagesCmp(app *app.App) tea.Model { vp.KeyMap.HalfPageUp = messageKeys.HalfPageUp vp.KeyMap.HalfPageDown = messageKeys.HalfPageDown return &messagesCmp{ - app: app, - cachedContent: make(map[string]cacheItem), - viewport: vp, - spinner: s, - attachments: attachmets, + app: app, + cachedContent: make(map[string]cacheItem), + viewport: vp, + spinner: s, + attachments: attachmets, showToolMessages: true, } } |
