commands/cli: Made Parse return an error if request has unrecognized options

This commit is contained in:
Matt Bell 2014-11-13 02:44:43 -08:00 committed by Juan Batiz-Benet
parent 120ead26f4
commit db361d9403
2 changed files with 9 additions and 1 deletions

View File

@ -71,7 +71,7 @@ func main() {
// BEFORE handling the parse error, if we have enough information
// AND the user requested help, print it out and exit
if invoc.cmd != nil {
if invoc.req != nil {
longH, shortH, err := invoc.requestedHelp()
if err != nil {
printErr(err)

View File

@ -37,6 +37,14 @@ func Parse(input []string, root *cmds.Command) (cmds.Request, *cmds.Command, []s
return nil, cmd, path, err
}
// check to make sure there aren't any undefined options
for k := range opts {
if _, found := optDefs[k]; !found {
err = fmt.Errorf("Unrecognized option: -%s", k)
return nil, cmd, path, err
}
}
req := cmds.NewRequest(path, opts, args, cmd, optDefs)
err = cmd.CheckArguments(req)