github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/fix/flags.go (about) 1 package fix 2 3 import ( 4 "github.com/gobuffalo/buffalo-cli/v2/internal/flagger" 5 "github.com/gobuffalo/plugins/plugflag" 6 "github.com/spf13/pflag" 7 ) 8 9 func (cmd *Cmd) Flags() *pflag.FlagSet { 10 if cmd.flags != nil { 11 return cmd.flags 12 } 13 14 flags := pflag.NewFlagSet(cmd.PluginName(), pflag.ContinueOnError) 15 flags.BoolVarP(&cmd.help, "help", "h", false, "print this help") 16 17 for _, p := range cmd.ScopedPlugins() { 18 switch t := p.(type) { 19 case Flagger: 20 for _, f := range plugflag.Clean(p, t.FixFlags()) { 21 flags.AddGoFlag(f) 22 } 23 case Pflagger: 24 for _, f := range flagger.CleanPflags(p, t.FixFlags()) { 25 flags.AddFlag(f) 26 } 27 } 28 } 29 30 cmd.flags = flags 31 32 return cmd.flags 33 }