package convids import ( "fmt" "github.com/spf13/pflag" ) var Help *bool var Loop *bool var DryRun *bool func GetFlags(name string) *pflag.FlagSet { flags := pflag.NewFlagSet(name, pflag.ExitOnError) Help = flags.BoolP("help", "h", false, "Get Help") Loop = flags.BoolP("loop", "l", false, "Loop") DryRun = flags.BoolP("dry-run", "d", false, "Do a dry run (won't loop)") flags.Usage = func() { fmt.Printf("Usage of %s:\n", name) flags.PrintDefaults() } return flags } func ParseFlags(name string, args []string) (*pflag.FlagSet, error) { flags := GetFlags(name) err := flags.Parse(args) if err != nil { return nil, err } if *DryRun { err := flags.Set("loop", "false") if err != nil { return nil, err } } return flags, nil }