JMS #25: Added support for help flags

This commit is contained in:
Jeremy Saenz
2013-07-24 07:35:45 -07:00
parent 933a037bf0
commit 70eacca641
5 changed files with 54 additions and 22 deletions

15
flag.go
View File

@@ -9,7 +9,7 @@ type Flag interface {
}
func flagSet(name string, flags []Flag) *flag.FlagSet {
set := flag.NewFlagSet(name, flag.ExitOnError)
set := flag.NewFlagSet(name, flag.ContinueOnError)
for _, f := range flags {
f.Apply(set)
}
@@ -56,3 +56,16 @@ func (f IntFlag) String() string {
func (f IntFlag) Apply(set *flag.FlagSet) {
set.Int(f.Name, f.Value, f.Usage)
}
type helpFlag struct {
Usage string
}
func (f helpFlag) String() string {
return fmt.Sprintf("--help, -h\t%v", f.Usage)
}
func (f helpFlag) Apply(set *flag.FlagSet) {
set.Bool("h", false, f.Usage)
set.Bool("help", false, f.Usage)
}