func NewApp()

in cli/app/app.go [44:82]


func NewApp(baseName string, cmdRunner command_runner.Runner, metadatas ...command_metadata.CommandMetadata) (app *cli.App) {

	cli.AppHelpTemplate = appHelpTemplate()
	cli.CommandHelpTemplate = commandHelpTemplate()
	app = cli.NewApp()
	app.Name = appConfig.Name
	app.HelpName = appConfig.HelpName
	app.Usage = appConfig.Usage
	app.Version = appConfig.Version

	app.Flags = []cli.Flag{
		&cli.StringFlag{
			Name:    "json",
			Aliases: []string{"j"},
			Usage:   "Render value as json with json path selector. (Experimental, not supported on all commands at present) ",
		},
		&cli.BoolFlag{
			Name:    "raw-output",
			Aliases: []string{"r"},
			Usage:   "Used with --json; if result is a string, write it without quotes",
		},
		&cli.BoolFlag{
			Name:  "verbose",
			Usage: "Print HTTP requests and responses",
		},
		&cli.BoolFlag{
			Name:  "vverbose",
			Usage: "Print HTTP requests and responses and include body data",
		},
	}

	app.Commands = []*cli.Command{}

	for _, metadata := range metadatas {
		primaryCommand := getCommand(baseName, metadata, cmdRunner)
		app.Commands = append(app.Commands, primaryCommand)
	}
	return
}