doc.go 919 Bytes
Newer Older
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
// Package kong aims to support arbitrarily complex command-line structures with as little developer effort as possible.
//
// Here's an example:
//
//     shell rm [-f] [-r] <paths> ...
//     shell ls [<paths> ...]
//
// This can be represented by the following command-line structure:
//
//     package main
//
//     import "github.com/alecthomas/kong"
//
//     var CLI struct {
//       Rm struct {
//         Force     bool `short:"f" help:"Force removal."`
//         Recursive bool `short:"r" help:"Recursively remove files."`
//
//         Paths []string `arg help:"Paths to remove." type:"path"`
//       } `cmd help:"Remove files."`
//
//       Ls struct {
//         Paths []string `arg optional help:"Paths to list." type:"path"`
//       } `cmd help:"List paths."`
//     }
//
//     func main() {
//       kong.Parse(&CLI)
//     }
//
// See https://github.com/alecthomas/kong for details.
package kong