moby/pkg/mflag
Doug Davis 8324d7918b Carry #11858
Continues 11858 by:
- Making sure the exit code is always zero when we ask for help
- Making sure the exit code isn't zero when we print help on error cases
- Making sure both short and long usage go to the same stream (stdout vs stderr)
- Making sure all docker commands support --help
- Test that all cmds send --help to stdout, exit code 0, show full usage, no blank lines at end
- Test that all cmds (that support it) show short usage on bad arg to stderr, no blank line at end
- Test that all cmds complain about a bad option, no blank line at end
- Test that docker (w/o subcmd) does the same stuff mentioned above properly

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-23 09:14:18 -07:00
..
example update go import path and libcontainer 2014-07-24 22:19:50 +00:00
flag.go Carry #11858 2015-05-23 09:14:18 -07:00
flag_test.go fix issue with goimport 2015-01-12 22:52:19 +00:00
LICENSE update copyrights to 2015 2015-01-12 22:47:36 +00:00
README.md update commands.go 2014-01-17 17:33:15 -08:00

Package mflag (aka multiple-flag) implements command-line flag parsing.
It's an hacky fork of the official golang package

It adds:

  • both short and long flag version
    ./example -s red ./example --string blue

  • multiple names for the same option

$>./example -h
Usage of example:
  -s, --string="": a simple string

It is very flexible on purpose, so you can do things like:

$>./example -h
Usage of example:
  -s, -string, --string="": a simple string

Or:

$>./example -h
Usage of example:
  -oldflag, --newflag="": a simple string

You can also hide some flags from the usage, so if we want only --newflag:

$>./example -h
Usage of example:
  --newflag="": a simple string
$>./example -oldflag str
str

See example.go for more details.