summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--internal/tui/components/chat/editor.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/internal/tui/components/chat/editor.go b/internal/tui/components/chat/editor.go
index 3548cbb0b..fea5d108b 100644
--- a/internal/tui/components/chat/editor.go
+++ b/internal/tui/components/chat/editor.go
@@ -45,13 +45,14 @@ var editorMaps = EditorKeyMaps{
),
}
-func openEditor() tea.Cmd {
+func openEditor(value string) tea.Cmd {
editor := os.Getenv("EDITOR")
if editor == "" {
editor = "nvim"
}
tmpfile, err := os.CreateTemp("", "msg_*.md")
+ tmpfile.WriteString(value)
if err != nil {
return util.ReportError(err)
}
@@ -119,7 +120,9 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
if m.app.CoderAgent.IsSessionBusy(m.session.ID) {
return m, util.ReportWarn("Agent is working, please wait...")
}
- return m, openEditor()
+ value := m.textarea.Value()
+ m.textarea.Reset()
+ return m, openEditor(value)
}
// Handle Enter key
if m.textarea.Focused() && key.Matches(msg, editorMaps.Send) {
@@ -204,4 +207,3 @@ func NewEditorCmp(app *app.App) tea.Model {
textarea: ta,
}
}
-