JMS #4: Kinda parsing flags now

This commit is contained in:
Jeremy Saenz
2013-07-16 19:59:04 -07:00
parent 4b4324bb47
commit e2733adc45
2 changed files with 24 additions and 2 deletions

18
flag.go
View File

@@ -1,9 +1,11 @@
package cli
import "fmt"
import "flag"
type Flag interface {
fmt.Stringer
Apply(*flag.FlagSet)
}
type BoolFlag struct {
@@ -21,6 +23,22 @@ func (f StringFlag) String() string {
return fmt.Sprintf("--%v 'string'\t%v", f.Name, f.Usage)
}
func (f StringFlag) Apply(set *flag.FlagSet) {
set.String(f.Name, f.Value, f.Usage)
}
func (f BoolFlag) String() string {
return fmt.Sprintf("--%v\t%v", f.Name, f.Usage)
}
func (f BoolFlag) Apply(set *flag.FlagSet) {
set.Bool(f.Name, false, f.Usage)
}
func flagSet(flags []Flag) *flag.FlagSet {
set := flag.NewFlagSet("set", flag.PanicOnError)
for _, f := range flags {
f.Apply(set)
}
return set
}