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

     1  package newapp
     2  
     3  import (
     4  	"io"
     5  	"io/ioutil"
     6  
     7  	"github.com/gobuffalo/buffalo-cli/v2/cli/cmds/newapp"
     8  	"github.com/gobuffalo/buffalo-cli/v2/internal/flagger"
     9  	"github.com/spf13/pflag"
    10  )
    11  
    12  var _ newapp.Pflagger = &Generator{}
    13  
    14  func (a *Generator) NewappFlags() []*pflag.Flag {
    15  	return flagger.SetToSlice(a.Flags())
    16  }
    17  
    18  func (a *Generator) Flags() *pflag.FlagSet {
    19  	if a.flags != nil {
    20  		return a.flags
    21  	}
    22  
    23  	flags := pflag.NewFlagSet(a.PluginName(), pflag.ContinueOnError)
    24  	flags.SetOutput(ioutil.Discard)
    25  	flags.StringVarP(&a.tool, "tool", "t", "yarnpkg", "asset tool to install dependencies")
    26  
    27  	a.flags = flags
    28  	return a.flags
    29  }
    30  
    31  func (a *Generator) PrintFlags(w io.Writer) error {
    32  	flags := a.Flags()
    33  	flags.SetOutput(w)
    34  	flags.PrintDefaults()
    35  	return nil
    36  }