//go:build linux || darwin package main import ( "os" "os/signal" "syscall" "github.com/creack/pty" "github.com/wecisecode/util/logger" ) func HandlePTYSize(ptmx *os.File) chan os.Signal { ch := make(chan os.Signal, 1) signal.Notify(ch, syscall.SIGWINCH) go func() { for range ch { if err := pty.InheritSize(os.Stdin, ptmx); err != nil { logger.Error("error resizing pty:", err) } } }() ch <- syscall.SIGWINCH // Initial resize. return ch }