Change summary
internal/tui/components/chat/editor/editor.go | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
Detailed changes
@@ -67,7 +67,7 @@ const (
maxAttachments = 5
)
-func (m *editorCmp) openEditor() tea.Cmd {
+func (m *editorCmp) openEditor(value string) tea.Cmd {
editor := os.Getenv("EDITOR")
if editor == "" {
// Use platform-appropriate default editor
@@ -82,7 +82,10 @@ func (m *editorCmp) openEditor() tea.Cmd {
if err != nil {
return util.ReportError(err)
}
- tmpfile.Close()
+ defer tmpfile.Close() //nolint:errcheck
+ if _, err := tmpfile.WriteString(value); err != nil {
+ return util.ReportError(err)
+ }
c := exec.Command(editor, tmpfile.Name())
c.Stdin = os.Stdin
c.Stdout = os.Stdout
@@ -242,7 +245,7 @@ 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, m.openEditor()
+ return m, m.openEditor(m.textarea.Value())
}
if key.Matches(msg, DeleteKeyMaps.Escape) {
m.deleteMode = false