Merge pull request #542 from mhmxs/patch-1
Display error instead of just say command is incorrect
This commit is contained in:
commit
b803494208
4
app.go
4
app.go
@ -194,7 +194,7 @@ func (a *App) Run(arguments []string) (err error) {
|
|||||||
HandleExitCoder(err)
|
HandleExitCoder(err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Fprintf(a.Writer, "%s\n\n", "Incorrect Usage.")
|
fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error())
|
||||||
ShowAppHelp(context)
|
ShowAppHelp(context)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -315,7 +315,7 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) {
|
|||||||
HandleExitCoder(err)
|
HandleExitCoder(err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Fprintf(a.Writer, "%s\n\n", "Incorrect Usage.")
|
fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error())
|
||||||
ShowSubcommandHelp(context)
|
ShowSubcommandHelp(context)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
17
app_test.go
17
app_test.go
@ -252,6 +252,23 @@ func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
|
|||||||
expect(t, context.String("lang"), "spanish")
|
expect(t, context.String("lang"), "spanish")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
|
||||||
|
a := App{
|
||||||
|
Flags: []Flag{
|
||||||
|
StringFlag{Name: "--foo"},
|
||||||
|
},
|
||||||
|
Writer: bytes.NewBufferString(""),
|
||||||
|
}
|
||||||
|
|
||||||
|
set := flag.NewFlagSet("", flag.ContinueOnError)
|
||||||
|
set.Parse([]string{"", "---foo"})
|
||||||
|
c := &Context{flagSet: set}
|
||||||
|
|
||||||
|
err := a.RunAsSubcommand(c)
|
||||||
|
|
||||||
|
expect(t, err, errors.New("bad flag syntax: ---foo"))
|
||||||
|
}
|
||||||
|
|
||||||
func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {
|
func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {
|
||||||
var parsedOption string
|
var parsedOption string
|
||||||
var args []string
|
var args []string
|
||||||
|
@ -138,7 +138,7 @@ func (c Command) Run(ctx *Context) (err error) {
|
|||||||
HandleExitCoder(err)
|
HandleExitCoder(err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Fprintln(ctx.App.Writer, "Incorrect Usage.")
|
fmt.Fprintln(ctx.App.Writer, "Incorrect Usage:", err.Error())
|
||||||
fmt.Fprintln(ctx.App.Writer)
|
fmt.Fprintln(ctx.App.Writer)
|
||||||
ShowCommandHelp(ctx, c.Name)
|
ShowCommandHelp(ctx, c.Name)
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user