2021-09-16 15:38:43 +02:00
|
|
|
//go:build !windows
|
2018-10-27 14:35:07 +02:00
|
|
|
// +build !windows
|
|
|
|
|
2020-09-29 11:10:57 +02:00
|
|
|
package oscommands
|
2018-10-27 14:35:07 +02:00
|
|
|
|
|
|
|
import (
|
2021-10-24 01:43:48 +02:00
|
|
|
"io"
|
|
|
|
"os/exec"
|
2019-02-16 01:18:38 +02:00
|
|
|
|
2020-03-25 11:37:10 +02:00
|
|
|
"github.com/creack/pty"
|
2018-10-27 14:35:07 +02:00
|
|
|
)
|
|
|
|
|
2021-10-24 01:43:48 +02:00
|
|
|
func RunCommandWithOutputLiveWrapper(
|
|
|
|
c *OSCommand,
|
|
|
|
cmdObj ICmdObj,
|
|
|
|
writer io.Writer,
|
|
|
|
output func(string) string,
|
|
|
|
) error {
|
|
|
|
return RunCommandWithOutputLiveAux(
|
|
|
|
c,
|
|
|
|
cmdObj,
|
|
|
|
writer,
|
|
|
|
output,
|
|
|
|
func(cmd *exec.Cmd) (*cmdHandler, error) {
|
|
|
|
ptmx, err := pty.Start(cmd)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return &cmdHandler{
|
|
|
|
stdoutPipe: ptmx,
|
|
|
|
stdinPipe: ptmx,
|
|
|
|
close: ptmx.Close,
|
|
|
|
}, nil
|
|
|
|
},
|
|
|
|
)
|
2018-11-06 21:24:10 +02:00
|
|
|
}
|