github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/resource/flags.go (about) 1 package resource 2 3 import ( 4 "io" 5 6 "github.com/gobuffalo/buffalo-cli/v2/internal/flagger" 7 "github.com/gobuffalo/plugins/plugflag" 8 "github.com/spf13/pflag" 9 ) 10 11 func (g *Generator) PrintFlags(w io.Writer) error { 12 flags := g.Flags() 13 flags.SetOutput(w) 14 flags.PrintDefaults() 15 return nil 16 } 17 18 func (g *Generator) Flags() *pflag.FlagSet { 19 if g.flags != nil { 20 return g.flags 21 } 22 23 flags := pflag.NewFlagSet(g.PluginName(), pflag.ContinueOnError) 24 flags.BoolVar(&g.skipActionTests, "skip-action-tests", false, "skip generating action tests") 25 flags.BoolVar(&g.skipActions, "skip-actions", false, "skip generating actions") 26 flags.BoolVar(&g.skipMigrationTests, "skip-migration-tests", false, "skip generating migration tests") 27 flags.BoolVar(&g.skipMigrations, "skip-migrations", false, "skip generating migrations") 28 flags.BoolVar(&g.skipModelTests, "skip-model-tests", false, "skip generating model tests") 29 flags.BoolVar(&g.skipModels, "skip-models", false, "skip generating models") 30 flags.BoolVar(&g.skipTemplateTests, "skip-template-tests", false, "skip generating template tests") 31 flags.BoolVar(&g.skipTemplates, "skip-templates", false, "skip generating templates") 32 flags.BoolVarP(&g.help, "help", "h", false, "print this help") 33 34 plugs := g.ScopedPlugins() 35 36 for _, p := range plugs { 37 switch t := p.(type) { 38 case Flagger: 39 for _, f := range plugflag.Clean(p, t.ResourceFlags()) { 40 flags.AddGoFlag(f) 41 } 42 case Pflagger: 43 for _, f := range flagger.CleanPflags(p, t.ResourceFlags()) { 44 flags.AddFlag(f) 45 } 46 } 47 } 48 g.flags = flags 49 return g.flags 50 }