File: doc.go

package info (click to toggle)
golang-gopkg-alecthomas-kingpin.v3 3.0~git20180227.b8d601d-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 420 kB
  • sloc: makefile: 6
file content (68 lines) | stat: -rw-r--r-- 2,018 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Package kingpin provides command line interfaces like this:
//
//     $ chat
//     usage: chat [<flags>] <command> [<flags>] [<args> ...]
//
//     Flags:
//       --debug              enable debug mode
//       --help               Show help.
//       --server=127.0.0.1   server address
//
//     Commands:
//       help <command>
//         Show help for a command.
//
//       post [<flags>] <channel>
//         Post a message to a channel.
//
//       register <nick> <name>
//         Register a new user.
//
//     $ chat help post
//     usage: chat [<flags>] post [<flags>] <channel> [<text>]
//
//     Post a message to a channel.
//
//     Flags:
//       --image=IMAGE   image to post
//
//     Args:
//       <channel>   channel to post to
//       [<text>]    text to post
//     $ chat post --image=~/Downloads/owls.jpg pics
//
// From code like this:
//
//     package main
//
//     import "gopkg.in/alecthomas/kingpin.v1"
//
//     var (
//       debug    = kingpin.Flag("debug", "enable debug mode").Default("false").Bool()
//       serverIP = kingpin.Flag("server", "server address").Default("127.0.0.1").IP()
//
//       register     = kingpin.Command("register", "Register a new user.")
//       registerNick = register.Arg("nick", "nickname for user").Required().String()
//       registerName = register.Arg("name", "name of user").Required().String()
//
//       post        = kingpin.Command("post", "Post a message to a channel.")
//       postImage   = post.Flag("image", "image to post").ExistingFile()
//       postChannel = post.Arg("channel", "channel to post to").Required().String()
//       postText    = post.Arg("text", "text to post").String()
//     )
//
//     func main() {
//       switch kingpin.Parse() {
//       // Register user
//       case "register":
//         println(*registerNick)
//
//       // Post message
//       case "post":
//         if *postImage != nil {
//         }
//         if *postText != "" {
//         }
//       }
//     }
package kingpin