github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/newapp/flags.go (about) 1 package newapp 2 3 import ( 4 "fmt" 5 "io" 6 7 "github.com/gobuffalo/buffalo-cli/v2/cli/cmds/newapp/presets" 8 "github.com/spf13/pflag" 9 ) 10 11 func (cmd *Cmd) PrintFlags(w io.Writer) error { 12 flags := cmd.Flags() 13 flags.SetOutput(w) 14 flags.PrintDefaults() 15 return nil 16 } 17 18 func (cmd *Cmd) Flags() *pflag.FlagSet { 19 if cmd.flags != nil { 20 return cmd.flags 21 } 22 23 flags := pflag.NewFlagSet(cmd.PluginName(), pflag.ContinueOnError) 24 flags.ParseErrorsWhitelist.UnknownFlags = true 25 flags.BoolVarP(&cmd.force, "force", "f", false, "delete the existing application first") 26 27 pres := presets.Presets() 28 var names []string 29 for k := range pres { 30 names = append(names, k) 31 } 32 33 flags.StringSliceVarP(&cmd.presets, "preset", "p", []string{}, fmt.Sprintf("preset list of plugins to use %s [default web]", names)) 34 35 cmd.flags = flags 36 return cmd.flags 37 }