22 lines
412 B
Go
22 lines
412 B
Go
//go:build !windows
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
// enableVirtualTerminal is a no-op: unix terminals speak ANSI natively.
|
|
func enableVirtualTerminal() {}
|
|
|
|
// termWidth is the terminal width in columns, 80 when unknown.
|
|
func termWidth() int {
|
|
ws, err := unix.IoctlGetWinsize(int(os.Stdout.Fd()), unix.TIOCGWINSZ)
|
|
if err != nil || ws.Col == 0 {
|
|
return 80
|
|
}
|
|
return int(ws.Col)
|
|
}
|