summaryrefslogtreecommitdiffstats
path: root/pkg/gui/pty.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-11-02 16:39:15 +1100
committerJesse Duffield <jessedduffield@gmail.com>2021-11-05 07:58:21 +1100
commit802cfb1a0436568c72fc998249f10f8150b352a3 (patch)
tree599f8a8bd52b786312a11f3b3cac2a2d5b7c597e /pkg/gui/pty.go
parent2fc1498517523a20a3080816ec50ee9e7fbe533d (diff)
render commit graph
Diffstat (limited to 'pkg/gui/pty.go')
-rw-r--r--pkg/gui/pty.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/pkg/gui/pty.go b/pkg/gui/pty.go
index ff6892d73..56956c399 100644
--- a/pkg/gui/pty.go
+++ b/pkg/gui/pty.go
@@ -4,6 +4,7 @@
package gui
import (
+ "io"
"os/exec"
"strings"
@@ -50,14 +51,19 @@ func (gui *Gui) newPtyTask(view *gocui.View, cmd *exec.Cmd, prefix string) error
manager := gui.getManager(view)
- ptmx, err := pty.Start(cmd)
- if err != nil {
- return err
+ start := func() (*exec.Cmd, io.Reader) {
+ ptmx, err := pty.Start(cmd)
+ if err != nil {
+ gui.Log.Error(err)
+ }
+
+ gui.State.Ptmx = ptmx
+
+ return cmd, ptmx
}
- gui.State.Ptmx = ptmx
onClose := func() {
- ptmx.Close()
+ gui.State.Ptmx.Close()
gui.State.Ptmx = nil
}
@@ -65,7 +71,7 @@ func (gui *Gui) newPtyTask(view *gocui.View, cmd *exec.Cmd, prefix string) error
return err
}
- if err := manager.NewTask(manager.NewCmdTask(ptmx, cmd, prefix, height+oy+10, onClose), cmdStr); err != nil {
+ if err := manager.NewTask(manager.NewCmdTask(start, prefix, height+oy+10, onClose), cmdStr); err != nil {
return err
}