Files
docker-cli/components/engine/pkg/mflag
Michal Minar 319270793a Handle bad options better
* Do not log bad options error message twice, e.g.:

    $ docker run --pouet
    flag provided but not defined: --pouet
    See 'docker run --help'.
    2014/11/05 21:41:23 flag provided but not defined: --pouet

  With this patch just the first two lines will be produced.

* Print 'docker' just once when run without a command, e.g.:

    $ docker --hel
    flag provided but not defined: --hel
    See 'docker docker --help'.

Signed-off-by: Michal Minar <miminar@redhat.com>
Upstream-commit: 1d09fc22ca14b0b83bdc81cba06d3d7ac886a3e6
Component: engine
2015-01-06 13:44:27 +01:00
..
2015-01-06 13:44:27 +01:00
2014-01-17 17:33:15 -08:00
2014-06-16 22:20:07 +00:00
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.