urfave-cli/cli_test.go

89 lines
2.0 KiB
Go
Raw Normal View History

2013-07-20 22:50:13 +00:00
package cli_test
import (
2013-07-20 22:50:13 +00:00
"os"
"github.com/codegangsta/cli"
)
2013-07-20 22:50:13 +00:00
func Example() {
app := cli.NewApp()
app.Name = "todo"
app.Usage = "task list on the command line"
app.Commands = []cli.Command{
{
2013-07-20 22:50:13 +00:00
Name: "add",
ShortName: "a",
Usage: "add a task to the list",
Action: func(c *cli.Context) {
2013-11-24 13:40:21 +00:00
println("added task: ", c.Args().First())
},
2013-07-20 22:50:13 +00:00
},
{
Name: "complete",
ShortName: "c",
Usage: "complete a task on the list",
Action: func(c *cli.Context) {
2013-11-24 13:40:21 +00:00
println("completed task: ", c.Args().First())
},
},
}
2013-07-20 22:50:13 +00:00
app.Run(os.Args)
}
2014-04-16 17:59:34 +00:00
func ExampleSubcommand() {
app := cli.NewApp()
app.Name = "say"
app.Commands = []cli.Command{
{
Name: "hello",
ShortName: "hi",
Usage: "use it to see a description",
Description: "This is how we describe hello the function",
Subcommands: []cli.Command{
{
Name: "english",
ShortName: "en",
Usage: "sends a greeting in english",
Description: "greets someone in english",
Flags: []cli.Flag{
cli.StringFlag{Name: "name", Value: "Bob", Usage: "Name of the person to greet"},
2014-04-16 17:59:34 +00:00
},
Action: func(c *cli.Context) {
println("Hello, ", c.String("name"))
},
}, {
Name: "spanish",
ShortName: "sp",
Usage: "sends a greeting in spanish",
Flags: []cli.Flag{
cli.StringFlag{Name: "surname", Value: "Jones", Usage: "Surname of the person to greet"},
2014-04-16 17:59:34 +00:00
},
Action: func(c *cli.Context) {
println("Hola, ", c.String("surname"))
},
}, {
Name: "french",
ShortName: "fr",
Usage: "sends a greeting in french",
Flags: []cli.Flag{
cli.StringFlag{Name: "nickname", Value: "Stevie", Usage: "Nickname of the person to greet"},
2014-04-16 17:59:34 +00:00
},
Action: func(c *cli.Context) {
println("Bonjour, ", c.String("nickname"))
},
},
},
}, {
Name: "bye",
Usage: "says goodbye",
Action: func(c *cli.Context) {
println("bye")
},
},
}
app.Run(os.Args)
}