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

     1  package setup
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/spf13/pflag"
     7  )
     8  
     9  func (setup *Setup) PrintFlags(w io.Writer) error {
    10  	flags := setup.Flags()
    11  	flags.SetOutput(w)
    12  	flags.PrintDefaults()
    13  	return nil
    14  }
    15  
    16  func (setup *Setup) Flags() *pflag.FlagSet {
    17  	if setup.flags != nil {
    18  		return setup.flags
    19  	}
    20  
    21  	flags := pflag.NewFlagSet(setup.PluginName(), pflag.ContinueOnError)
    22  	flags.BoolVarP(&setup.dropDB, "drop-db", "d", false, "drop database before creating them")
    23  	flags.BoolVarP(&setup.help, "help", "h", false, "print this help")
    24  
    25  	setup.flags = flags
    26  	return setup.flags
    27  }
    28  
    29  func (setup *Setup) SetupFlags() []*pflag.Flag {
    30  	var values []*pflag.Flag
    31  	flags := setup.Flags()
    32  	flags.VisitAll(func(f *pflag.Flag) {
    33  		values = append(values, f)
    34  	})
    35  	return values
    36  }