Add -termui=false flag to prevent panic in non-TTY environments
- Added -termui flag to control terminal UI usage (defaults to true)
- Added PTY detection to automatically disable terminal UI in non-TTY environments
Sketch did some weird stuff here, so this isn't particularly co-authored
by sketch.
diff --git a/termui/termui.go b/termui/termui.go
index 4461b5c..322b23d 100644
--- a/termui/termui.go
+++ b/termui/termui.go
@@ -340,7 +340,7 @@
defer ui.mu.Unlock()
if !term.IsTerminal(int(ui.stdin.Fd())) {
- return fmt.Errorf("this command requires terminal I/O")
+ return fmt.Errorf("this command requires terminal I/O when termui=true")
}
oldState, err := term.MakeRaw(int(ui.stdin.Fd()))