utils/internal/cli/convids/flags.go
2025-04-24 14:27:19 -05:00

42 lines
764 B
Go

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
}