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

     1  package newapp
     2  
     3  import (
     4  	"io"
     5  	"io/ioutil"
     6  
     7  	"github.com/gobuffalo/buffalo-cli/v2/internal/flagger"
     8  	"github.com/spf13/pflag"
     9  )
    10  
    11  func (g *Generator) NewappFlags() []*pflag.Flag {
    12  	return flagger.SetToSlice(g.Flags())
    13  }
    14  
    15  func (g *Generator) Flags() *pflag.FlagSet {
    16  	if g.flags != nil {
    17  		return g.flags
    18  	}
    19  
    20  	flg := pflag.NewFlagSet(g.PluginName(), pflag.ContinueOnError)
    21  	flg.SetOutput(ioutil.Discard)
    22  
    23  	flg.StringVarP(&g.databaseType, "type", "", "postgres", "specify the type of database you want to use [cockroach, mariadb, mysql, postgres]")
    24  	flg.BoolVarP(&g.skip, "skip-pop", "", false, "skips adding pop/soda to your app")
    25  
    26  	g.flags = flg
    27  	return g.flags
    28  }
    29  
    30  func (g *Generator) PrintFlags(w io.Writer) error {
    31  	flags := g.Flags()
    32  	flags.SetOutput(w)
    33  	flags.PrintDefaults()
    34  	return nil
    35  }