Correctly print the unknown command name
by now, if someone calls: `program --validflag unknowncommand` the output will be: ``` Error: unknown command "--validflag" Run 'program help' for usage. ``` This patch strips out flags so the unknown command is printed: ``` Error: unknown command "unknowncommand" Run 'program help' for usage. ```
This commit is contained in:
parent
312092086b
commit
fb86c5c559
@ -755,6 +755,11 @@ func TestRootUnknownCommand(t *testing.T) {
|
|||||||
if r.Output != s {
|
if r.Output != s {
|
||||||
t.Errorf("Unexpected response.\nExpecting to be:\n %q\nGot:\n %q\n", s, r.Output)
|
t.Errorf("Unexpected response.\nExpecting to be:\n %q\nGot:\n %q\n", s, r.Output)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
r = noRRSetupTest("--strtwo=a bogus")
|
||||||
|
if r.Output != s {
|
||||||
|
t.Errorf("Unexpected response.\nExpecting to be:\n %q\nGot:\n %q\n", s, r.Output)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFlagsBeforeCommand(t *testing.T) {
|
func TestFlagsBeforeCommand(t *testing.T) {
|
||||||
|
@ -424,7 +424,7 @@ func (c *Command) Find(args []string) (*Command, []string, error) {
|
|||||||
|
|
||||||
// If we matched on the root, but we asked for a subcommand, return an error
|
// If we matched on the root, but we asked for a subcommand, return an error
|
||||||
if commandFound.Name() == c.Name() && len(stripFlags(args, c)) > 0 && commandFound.Name() != args[0] {
|
if commandFound.Name() == c.Name() && len(stripFlags(args, c)) > 0 && commandFound.Name() != args[0] {
|
||||||
return nil, a, fmt.Errorf("unknown command %q", a[0])
|
return nil, a, fmt.Errorf("unknown command %q", stripFlags(args, c)[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
return commandFound, a, nil
|
return commandFound, a, nil
|
||||||
|
Loading…
Reference in New Issue
Block a user