diff --git a/Makefile b/Makefile index 0f68a6b..d0d88b6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,4 @@ -all: - @echo - @echo +all: goimports vet clean: rm -f go.* diff --git a/parse.go b/parse.go index 3566936..c53cdcf 100644 --- a/parse.go +++ b/parse.go @@ -124,6 +124,16 @@ func Parse(dest ...interface{}) error { 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 + } + err = p.Parse(flags) + return p, err +} + // flags gets all command line arguments other than the first (program name) func flags() []string { if len(os.Args) == 0 { // os.Args could be empty