cmd/sketch: make browser flag default behavior conditional on one-shot mode
- If the flag is explicitly set (either true or false), respect that choice
- If the flag is not set:
- In normal mode, default to true (open browser)
- In one-shot mode, default to false (don't open browser)
This change prevents the browser from opening automatically when in one-shot
mode unless explicitly requested with -open=true.
Co-Authored-By: sketch <hello@sketch.dev>
diff --git a/cmd/sketch/main.go b/cmd/sketch/main.go
index 12e58ea..bf0d735 100644
--- a/cmd/sketch/main.go
+++ b/cmd/sketch/main.go
@@ -210,6 +210,19 @@
flag.Var(&flags.experimentFlag, "x", "enable experimental features (comma-separated list or repeat flag; use 'list' to show all)")
flag.Parse()
+
+ // -open's default value should be true normally but false in one-shot mode.
+ // Distinguish between -open default value vs explicitly set.
+ openExplicit := false
+ flag.Visit(func(f *flag.Flag) {
+ if f.Name == "open" {
+ openExplicit = true
+ }
+ })
+ if !openExplicit {
+ flags.openBrowser = !flags.oneShot
+ }
+
return flags
}