github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/internal/plugins/pop/generators/actions/flags.go (about)

     1  package actions
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/spf13/pflag"
     7  )
     8  
     9  func (g *Generator) PrintFlags(w io.Writer) error {
    10  	flags := g.Flags()
    11  	flags.SetOutput(w)
    12  	flags.PrintDefaults()
    13  	return nil
    14  }
    15  
    16  func (g *Generator) ResourceFlags() []*pflag.Flag {
    17  	var values []*pflag.Flag
    18  	flags := g.Flags()
    19  	flags.VisitAll(func(f *pflag.Flag) {
    20  		values = append(values, f)
    21  	})
    22  	return values
    23  }
    24  
    25  func (g *Generator) Flags() *pflag.FlagSet {
    26  	if g.flags != nil {
    27  		return g.flags
    28  	}
    29  
    30  	flags := pflag.NewFlagSet(g.PluginName(), pflag.ContinueOnError)
    31  
    32  	flags.StringVarP(&g.modelName, "name", "n", "", "name of the model to use [defaults to resource name]")
    33  	flags.StringVarP(&g.modelsPkg, "pkg", "p", "", "full import path of models package [default is <module>/models]")
    34  	flags.StringVarP(&g.modelsPkgSel, "pkg-sel", "s", "", "selector for the models package [default is path.Base(model-pkg)]")
    35  
    36  	g.flags = flags
    37  	return g.flags
    38  }