From 23e7a95083a8d875420c90e0479647f18a278c5f Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Fri, 11 Apr 2025 18:54:13 +0200 Subject: intiial layout --- internal/tui/components/repl/editor.go | 48 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 21 deletions(-) (limited to 'internal/tui/components/repl') diff --git a/internal/tui/components/repl/editor.go b/internal/tui/components/repl/editor.go index 37ac275e3..e9493129d 100644 --- a/internal/tui/components/repl/editor.go +++ b/internal/tui/components/repl/editor.go @@ -156,30 +156,36 @@ func (m *editorCmp) Cancel() tea.Cmd { } func (m *editorCmp) Send() tea.Cmd { - return func() tea.Msg { - messages, err := m.app.Messages.List(m.sessionID) - if err != nil { - return util.ReportError(err) - } - if hasUnfinishedMessages(messages) { - return util.ReportWarn("Assistant is still working on the previous message") - } - a, err := agent.NewCoderAgent(m.app) - if err != nil { - return util.ReportError(err) - } + if m.cancelMessage != nil { + return util.ReportWarn("Assistant is still working on the previous message") + } - content := strings.Join(m.editor.GetBuffer().Lines(), "\n") - ctx, cancel := context.WithCancel(m.app.Context) - m.cancelMessage = cancel - go func() { - defer cancel() - a.Generate(ctx, m.sessionID, content) - m.cancelMessage = nil - }() + messages, err := m.app.Messages.List(m.sessionID) + if err != nil { + return util.ReportError(err) + } + if hasUnfinishedMessages(messages) { + return util.ReportWarn("Assistant is still working on the previous message") + } + + a, err := agent.NewCoderAgent(m.app) + if err != nil { + return util.ReportError(err) + } - return m.editor.Reset() + content := strings.Join(m.editor.GetBuffer().Lines(), "\n") + if len(content) == 0 { + return util.ReportWarn("Message is empty") } + ctx, cancel := context.WithCancel(m.app.Context) + m.cancelMessage = cancel + go func() { + defer cancel() + a.Generate(ctx, m.sessionID, content) + m.cancelMessage = nil + }() + + return m.editor.Reset() } func (m *editorCmp) View() string { -- cgit v1.2.3