diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2021-11-02 16:39:15 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2021-11-05 07:58:21 +1100 |
commit | 802cfb1a0436568c72fc998249f10f8150b352a3 (patch) | |
tree | 599f8a8bd52b786312a11f3b3cac2a2d5b7c597e /pkg/gui/pty.go | |
parent | 2fc1498517523a20a3080816ec50ee9e7fbe533d (diff) |
render commit graph
Diffstat (limited to 'pkg/gui/pty.go')
-rw-r--r-- | pkg/gui/pty.go | 18 |
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 } |