mirror of
https://github.com/spf13/cobra
synced 2025-05-06 05:17:21 +00:00
Simplify error return
Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>
This commit is contained in:
parent
d667ccf480
commit
834a53c099
1 changed files with 16 additions and 13 deletions
15
command.go
15
command.go
|
@ -693,7 +693,7 @@ func (c *Command) ArgsLenAtDash() int {
|
|||
return c.Flags().ArgsLenAtDash()
|
||||
}
|
||||
|
||||
func (c *Command) execute(a []string) *CmdError {
|
||||
func (c *Command) execute(a []string) error {
|
||||
if c == nil {
|
||||
return &CmdError{fmt.Errorf("Called Execute() on a nil Command"), CommandError}
|
||||
}
|
||||
|
@ -870,8 +870,11 @@ func (c *Command) ExecuteC() (cmd *Command, err error) {
|
|||
cmd.commandCalledAs.name = cmd.Name()
|
||||
}
|
||||
|
||||
cmdErr := cmd.execute(flags)
|
||||
if cmdErr != nil {
|
||||
err = cmd.execute(flags)
|
||||
if err != nil {
|
||||
|
||||
cmdErr, ok := err.(*CmdError)
|
||||
if ok {
|
||||
// Always show help if requested, even if SilenceErrors is in
|
||||
// effect
|
||||
if cmdErr.CmdErrorType == ErrHelp {
|
||||
|
@ -880,13 +883,14 @@ func (c *Command) ExecuteC() (cmd *Command, err error) {
|
|||
}
|
||||
|
||||
if cmdErr.CmdErrorType == RunError && (!cmd.ShowRunErrorUsage && !c.ShowRunErrorUsage) {
|
||||
return cmd, cmdErr
|
||||
return cmd, err
|
||||
}
|
||||
}
|
||||
|
||||
// If root command has SilentErrors flagged,
|
||||
// all subcommands should respect it
|
||||
if !cmd.SilenceErrors && !c.SilenceErrors {
|
||||
c.Println("Error:", cmdErr)
|
||||
c.Println("Error:", err)
|
||||
}
|
||||
|
||||
// If root command has SilentUsage flagged,
|
||||
|
@ -894,7 +898,6 @@ func (c *Command) ExecuteC() (cmd *Command, err error) {
|
|||
if !cmd.SilenceUsage && !c.SilenceUsage {
|
||||
c.Println(cmd.UsageString())
|
||||
}
|
||||
return cmd, cmdErr
|
||||
}
|
||||
return cmd, err
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue