Re-implement: stdout can be directed now

This commit is contained in:
HAYAMA_Kaoru
2024-12-01 22:37:31 +09:00
parent a0c1c2ae9a
commit bce5233fc4
+12 -4
View File
@@ -25,8 +25,12 @@ func (T *Term) Close() {
func NewTerm() (*Term, error) {
T := &Term{}
disableStdout, err := virtualterminal.EnableStdout()
if err == nil {
isTerm := term.IsTerminal(int(os.Stdout.Fd()))
if isTerm {
disableStdout, err := virtualterminal.EnableStdout()
if err != nil {
return nil, err
}
T.closers = append(T.closers, disableStdout)
}
@@ -44,8 +48,12 @@ func NewTerm() (*Term, error) {
}
T.closers = append(T.closers, func() { T.Pty.Close() })
width, height, err := term.GetSize(int(os.Stdout.Fd()))
if err == nil {
if isTerm {
width, height, err := term.GetSize(int(os.Stdout.Fd()))
if err != nil {
T.Close()
return nil, err
}
T.Pty.Resize(width, height)
}