gum/internal/tty/tty.go
Carlos Alexandro Becker 0e501ea47f
feat(filter): --select-if-one returns if single match (#778)
closes #311

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-12-13 16:59:59 -03:00

24 lines
420 B
Go

// Package tty provides tty-aware printing.
package tty
import (
"fmt"
"os"
"sync"
"github.com/charmbracelet/x/ansi"
"github.com/charmbracelet/x/term"
)
var isTTY = sync.OnceValue(func() bool {
return term.IsTerminal(os.Stdout.Fd())
})
// Println handles println, striping ansi sequences if stdout is not a tty.
func Println(s string) {
if isTTY() {
fmt.Println(s)
return
}
fmt.Println(ansi.Strip(s))
}