100 lines
2.1 KiB
Go
100 lines
2.1 KiB
Go
package cli_test
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/codegangsta/cli"
|
|
)
|
|
|
|
func Example() {
|
|
app := cli.NewApp()
|
|
app.Name = "todo"
|
|
app.Usage = "task list on the command line"
|
|
app.Commands = []cli.Command{
|
|
{
|
|
Name: "add",
|
|
ShortName: "a",
|
|
Usage: "add a task to the list",
|
|
Action: func(c *cli.Context) {
|
|
println("added task: ", c.Args().First())
|
|
},
|
|
},
|
|
{
|
|
Name: "complete",
|
|
ShortName: "c",
|
|
Usage: "complete a task on the list",
|
|
Action: func(c *cli.Context) {
|
|
println("completed task: ", c.Args().First())
|
|
},
|
|
},
|
|
}
|
|
|
|
app.Run(os.Args)
|
|
}
|
|
|
|
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",
|
|
},
|
|
},
|
|
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",
|
|
},
|
|
},
|
|
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",
|
|
},
|
|
},
|
|
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)
|
|
}
|