diff --git a/internal/cli/flags.go b/internal/cli/flags.go new file mode 100644 index 0000000..7320077 --- /dev/null +++ b/internal/cli/flags.go @@ -0,0 +1,12 @@ +package cli + +import ( + "flag" + "io" +) + +func newFlagSet(name string, stderr io.Writer) *flag.FlagSet { + flags := flag.NewFlagSet(name, flag.ContinueOnError) + flags.SetOutput(stderr) + return flags +} diff --git a/internal/cli/manifest.go b/internal/cli/manifest.go index 905f3f8..a92c631 100644 --- a/internal/cli/manifest.go +++ b/internal/cli/manifest.go @@ -2,7 +2,6 @@ package cli import ( "context" - "flag" "fmt" "io" "strings" @@ -30,8 +29,7 @@ func manifestCreateCommand(ctx context.Context, args []string, stdout, stderr io printManifestCreateHelp(stdout) return exitOK } - flags := flag.NewFlagSet("manifest create", flag.ContinueOnError) - flags.SetOutput(stderr) + flags := newFlagSet("manifest create", stderr) id := flags.String("id", "", "source bundle id") created := flags.String("created", "", "source created timestamp") overwrite := flags.Bool("overwrite", false, "replace an existing manifest.json") diff --git a/internal/cli/run.go b/internal/cli/run.go index d3a3e3b..9548b26 100644 --- a/internal/cli/run.go +++ b/internal/cli/run.go @@ -2,7 +2,6 @@ package cli import ( "context" - "flag" "fmt" "io" @@ -15,8 +14,7 @@ func runCommand(ctx context.Context, args []string, stdout, stderr io.Writer) in return exitOK } - flags := flag.NewFlagSet("run", flag.ContinueOnError) - flags.SetOutput(stderr) + flags := newFlagSet("run", stderr) configPath := flags.String("config", "", "path to config file") dryRun := flags.Bool("dry-run", false, "load and validate config without publishing") force := flags.Bool("force", false, "allow explicit destructive replacement for supported conflicts") diff --git a/internal/cli/serve.go b/internal/cli/serve.go index b04713d..cb73bf5 100644 --- a/internal/cli/serve.go +++ b/internal/cli/serve.go @@ -2,7 +2,6 @@ package cli import ( "context" - "flag" "fmt" "io" @@ -17,8 +16,7 @@ func serveCommand(ctx context.Context, args []string, stdout, stderr io.Writer) return exitOK } - flags := flag.NewFlagSet("serve", flag.ContinueOnError) - flags.SetOutput(stderr) + flags := newFlagSet("serve", stderr) configPath := flags.String("config", "", "path to config file") if err := flags.Parse(args); err != nil { return exitUsage diff --git a/internal/cli/source_mode.go b/internal/cli/source_mode.go index a76af92..360bfda 100644 --- a/internal/cli/source_mode.go +++ b/internal/cli/source_mode.go @@ -1,7 +1,6 @@ package cli import ( - "flag" "fmt" "io" @@ -17,8 +16,7 @@ type sourceDiagnosticArgs struct { } func parseSourceDiagnosticArgs(stderr io.Writer, command string, args []string) (sourceDiagnosticArgs, bool) { - flags := flag.NewFlagSet(command, flag.ContinueOnError) - flags.SetOutput(stderr) + flags := newFlagSet(command, stderr) configPath := flags.String("config", "", "path to config file") pipelineID := flags.String("pipeline", "", "pipeline id") bundlePath := flags.String("bundle", "", "source-root-relative bundle path") diff --git a/internal/cli/version.go b/internal/cli/version.go index 4622d30..2cd8d68 100644 --- a/internal/cli/version.go +++ b/internal/cli/version.go @@ -2,7 +2,6 @@ package cli import ( "context" - "flag" "fmt" "io" @@ -14,8 +13,7 @@ func versionCommand(_ context.Context, args []string, stdout, stderr io.Writer) printVersionHelp(stdout) return exitOK } - flags := flag.NewFlagSet("version", flag.ContinueOnError) - flags.SetOutput(stderr) + flags := newFlagSet("version", stderr) formatFlag := addFormatFlag(flags) if err := flags.Parse(args); err != nil { return exitUsage