From 9d0bd596117bb0fa7d3766b46f0f90a66b527d0b Mon Sep 17 00:00:00 2001 From: Alec Thomas Date: Fri, 21 Jun 2019 09:53:05 +1000 Subject: [PATCH] Print error after usage when UsageOnError is set. Previously, the underlying error was often lost when usage output was large. --- kong.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kong.go b/kong.go index d1039d2..197b187 100644 --- a/kong.go +++ b/kong.go @@ -324,13 +324,13 @@ func (k *Kong) FatalIfErrorf(err error, args ...interface{}) { if len(args) > 0 { msg = fmt.Sprintf(args[0].(string), args[1:]...) + ": " + err.Error() } - k.Errorf("%s", msg) // Maybe display usage information. if err, ok := err.(*ParseError); ok && k.usageOnError { - fmt.Fprintln(k.Stdout) options := k.helpOptions _ = k.help(options, err.Context) + fmt.Fprintln(k.Stdout) } + k.Errorf("%s", msg) k.Exit(1) }