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  }