From d667ccf480bb02b497fc3cb3e2aae5e77df57568 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Jacquier Date: Wed, 4 Jul 2018 15:12:23 +0200 Subject: [PATCH] add ShowRunErrorUsage flag Signed-off-by: Pierre-Emmanuel Jacquier --- command.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/command.go b/command.go index d92da78d..225e976a 100644 --- a/command.go +++ b/command.go @@ -136,6 +136,9 @@ type Command struct { // SilenceUsage is an option to silence usage when an error occurs. SilenceUsage bool + // ShowRunErrorUsage is an option to show usage when an error is returned by a RunE function. + ShowRunErrorUsage bool + // DisableFlagParsing disables the flag parsing. // If this is true all flags will be passed to the command as arguments. DisableFlagParsing bool @@ -876,7 +879,7 @@ func (c *Command) ExecuteC() (cmd *Command, err error) { return cmd, nil } - if cmdErr.CmdErrorType == RunError { + if cmdErr.CmdErrorType == RunError && (!cmd.ShowRunErrorUsage && !c.ShowRunErrorUsage) { return cmd, cmdErr }