pip compatible server to serve Python packages out of GitHub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Alex Flint 22c73471e6 add README 10 years ago
example add example.go 10 years ago
.gitignore Initial commit 10 years ago
LICENSE Initial commit 10 years ago
README.md add README 10 years ago
parse.go added usage generation 10 years ago
parse_test.go added usage generation 10 years ago
usage.go add usage.go 10 years ago

README.md

Argument parsing for Go.

var args struct {
	Foo  string
	Bar  bool
}
arg.MustParse(&args)
fmt.Println(args.Foo)
fmt.Println(args.Bar)
$ ./example --foo=hello --bar
hello
True

Setting defaults values:

var args struct {
	Foo string
	Bar bool
}
args.Foo = "default value"
arg.MustParse(&args)

Marking options as required

var args struct {
	Foo string `arg:"required"`
	Bar bool
}
arg.MustParse(&args)

Positional argument:

var args struct {
	Input   string   `arg:"positional"`
	Output  []string `arg:"positional"`
	Verbose bool
}
arg.MustParse(&args)
fmt.Println("Input:", input)
fmt.Println("Output:", output)
$ ./example src.txt x.out y.out z.out
Input: src.txt
Output: [x.out y.out z.out]

Usage strings:

$ ./example -h
usage: [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--help] INPUT [OUTPUT [OUTPUT ...]] 

positional arguments:
  input
  output

options:
--verbose, -v            verbosity level
--dataset DATASET        dataset to use
--optimize OPTIMIZE, -O OPTIMIZE
                         optimization level
--help, -h               print this help message

Options with multiple values:

var args struct {
	Database string
	IDs      []int64
}
arg.MustParse(&args)
fmt.Printf("Fetching the following IDs from %s: %q", args.Database, args.IDs)
./example -database foo -ids 1 2 3
Fetching the following IDs from foo: [1 2 3]