Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
|
8235b935a3 | |
|
b72816f193 |
4
Makefile
4
Makefile
|
@ -1,6 +1,4 @@
|
||||||
all:
|
all: goimports vet
|
||||||
@echo
|
|
||||||
@echo
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f go.*
|
rm -f go.*
|
||||||
|
|
16
parse.go
16
parse.go
|
@ -124,8 +124,24 @@ func Parse(dest ...interface{}) error {
|
||||||
return p.Parse(flags())
|
return p.Parse(flags())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// pass in a "pretend" os.Args. Used for bash autocomplete
|
||||||
|
func ParseFlags(flags []string, dest ...interface{}) (*Parser, error) {
|
||||||
|
p, err := NewParser(Config{}, dest...)
|
||||||
|
if err != nil {
|
||||||
|
return p, err
|
||||||
|
}
|
||||||
|
overrideFlags = append(overrideFlags, flags...)
|
||||||
|
err = p.Parse(flags)
|
||||||
|
return p, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var overrideFlags []string
|
||||||
|
|
||||||
// flags gets all command line arguments other than the first (program name)
|
// flags gets all command line arguments other than the first (program name)
|
||||||
func flags() []string {
|
func flags() []string {
|
||||||
|
if len(overrideFlags) > 0 {
|
||||||
|
return overrideFlags
|
||||||
|
}
|
||||||
if len(os.Args) == 0 { // os.Args could be empty
|
if len(os.Args) == 0 { // os.Args could be empty
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue