term.go

 1package term
 2
 3import (
 4	"os"
 5	"strings"
 6)
 7
 8// SupportsProgressBar tries to determine whether the current terminal supports
 9// progress bars by looking into environment variables.
10func SupportsProgressBar() bool {
11	termProg := os.Getenv("TERM_PROGRAM")
12	_, isWindowsTerminal := os.LookupEnv("WT_SESSION")
13
14	return isWindowsTerminal || strings.Contains(strings.ToLower(termProg), "ghostty")
15}