@@ -85,35 +85,33 @@ func (f *FlagLoader) Load(s interface{}) error {
8585 args = f .Args
8686 }
8787
88- // support unknown flag
89- var newArgs []string
88+ // just parse recognizable flag
89+ var recognizableArgs []string
9090 type BoolFlag interface {
9191 IsBoolFlag () bool
9292 }
9393 for i := 0 ; i < len (args ); i ++ {
9494 if strings .HasPrefix (args [i ], "-" ) {
9595 flagName := strings .TrimLeft (args [i ], "-" )
9696 if flagName == "help" || flagName == "h" {
97- newArgs = append (newArgs , args [i ])
97+ recognizableArgs = append (recognizableArgs , args [i ])
9898 continue
9999 }
100- cmdlineFlag := f .flagSet .Lookup (flagName )
101- if cmdlineFlag != nil {
102- newArgs = append (newArgs , args [i ])
103- if bf , ok := cmdlineFlag .Value .(BoolFlag ); ok && bf .IsBoolFlag () {
100+ recognizableFlag := f .flagSet .Lookup (flagName )
101+ if recognizableFlag != nil {
102+ recognizableArgs = append (recognizableArgs , args [i ])
103+ if bf , ok := recognizableFlag .Value .(BoolFlag ); ok && bf .IsBoolFlag () {
104104 continue
105105 }
106106 i ++
107107 if i < len (args ) {
108- newArgs = append (newArgs , args [i ])
108+ recognizableArgs = append (recognizableArgs , args [i ])
109109 }
110110 }
111111 }
112112 }
113113
114- fmt .Println (newArgs )
115-
116- return flagSet .Parse (newArgs )
114+ return flagSet .Parse (recognizableArgs )
117115}
118116
119117func filterArgs (args []string ) []string {
0 commit comments