diff --git a/parse.go b/parse.go index c53cdcf..20b7c7d 100644 --- a/parse.go +++ b/parse.go @@ -130,12 +130,18 @@ func ParseFlags(flags []string, dest ...interface{}) (*Parser, error) { 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) func flags() []string { + if len(overrideFlags) > 0 { + return overrideFlags + } if len(os.Args) == 0 { // os.Args could be empty return nil }