github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/output/output.go (about) 1 package output 2 3 import ( 4 "io" 5 "os" 6 ) 7 8 var OriginalStderr *os.File 9 10 func init() { 11 OriginalStderr = os.Stderr 12 } 13 14 func CaptureAllOutput(to io.Writer) error { 15 piper, pipew, err := os.Pipe() 16 if err != nil { 17 return err 18 } 19 20 os.Stdout = piper 21 os.Stderr = piper 22 23 go func() { 24 // NOTE(dmiller): If this errors there's nothing we can do 25 _, _ = io.Copy(to, pipew) 26 }() 27 return nil 28 }