Self-documenting - the spec turns into the usage string
Powerful - doesn't do everything you ever dreamed of, but comes close
Flexible - if you want control over parsing, provide your own callback.
This design is inspired by git rev-parse --parseopt and the discussion of
bup.optionshere. There are some
minor deviations.
On the code side, you must access the opt structure with canonical option
names only. This is intended to reduce programmer errors. (This applies to
the simple, non-callback interface.)
When I support negated options, I will not support unnegated aliases
for them as that can lead to more confusion than I deem worth harboring.
Install
go get github.com/gaal/go-options/options
This package is distributed under the MIT/X license.