From 530df59178874f8d792d2d9cfd745464076f1eda Mon Sep 17 00:00:00 2001 From: Tyler Davis Date: Wed, 28 Jun 2017 09:52:12 -0700 Subject: [PATCH] Pass context into handleExitCoder --- app.go | 18 +++++++++--------- command.go | 8 ++++---- funcs.go | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/app.go b/app.go index e9ed7ab..48de351 100644 --- a/app.go +++ b/app.go @@ -210,7 +210,7 @@ func (a *App) Run(arguments []string) (err error) { if err != nil { if a.OnUsageError != nil { err := a.OnUsageError(context, err, false) - a.handleExitCoder(err) + a.handleExitCoder(context, err) return err } fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error()) @@ -245,7 +245,7 @@ func (a *App) Run(arguments []string) (err error) { if beforeErr != nil { fmt.Fprintf(a.Writer, "%v\n\n", beforeErr) ShowAppHelp(context) - a.handleExitCoder(beforeErr) + a.handleExitCoder(context, beforeErr) err = beforeErr return err } @@ -267,7 +267,7 @@ func (a *App) Run(arguments []string) (err error) { // Run default Action err = HandleAction(a.Action, context) - a.handleExitCoder(err) + a.handleExitCoder(context, err) return err } @@ -334,7 +334,7 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { if err != nil { if a.OnUsageError != nil { err = a.OnUsageError(context, err, true) - a.handleExitCoder(err) + a.handleExitCoder(context, err) return err } fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error()) @@ -356,7 +356,7 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { defer func() { afterErr := a.After(context) if afterErr != nil { - a.handleExitCoder(err) + a.handleExitCoder(context, err) if err != nil { err = NewMultiError(err, afterErr) } else { @@ -369,7 +369,7 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { if a.Before != nil { beforeErr := a.Before(context) if beforeErr != nil { - a.handleExitCoder(beforeErr) + a.handleExitCoder(context, beforeErr) err = beforeErr return err } @@ -387,7 +387,7 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { // Run default Action err = HandleAction(a.Action, context) - a.handleExitCoder(err) + a.handleExitCoder(context, err) return err } @@ -468,9 +468,9 @@ func (a *App) appendFlag(flag Flag) { } } -func (a *App) handleExitCoder(err error) { +func (a *App) handleExitCoder(context *Context, error) { if a.ExitErrHandler != nil { - a.ExitErrHandler(err) + a.ExitErrHandler(context, err) } else { HandleExitCoder(err) } diff --git a/command.go b/command.go index fffa02f..502fc9f 100644 --- a/command.go +++ b/command.go @@ -167,7 +167,7 @@ func (c Command) Run(ctx *Context) (err error) { if err != nil { if c.OnUsageError != nil { err := c.OnUsageError(context, err, false) - context.App.handleExitCoder(err) + context.App.handleExitCoder(context, err) return err } fmt.Fprintln(context.App.Writer, "Incorrect Usage:", err.Error()) @@ -184,7 +184,7 @@ func (c Command) Run(ctx *Context) (err error) { defer func() { afterErr := c.After(context) if afterErr != nil { - ctx.App.handleExitCoder(err) + context.App.handleExitCoder(context, err) if err != nil { err = NewMultiError(err, afterErr) } else { @@ -198,7 +198,7 @@ func (c Command) Run(ctx *Context) (err error) { err = c.Before(context) if err != nil { ShowCommandHelp(context, c.Name) - context.App.handleExitCoder(err) + context.App.handleExitCoder(context, err) return err } } @@ -210,7 +210,7 @@ func (c Command) Run(ctx *Context) (err error) { err = HandleAction(c.Action, context) if err != nil { - ctx.App.handleExitCoder(err) + context.App.handleExitCoder(context, err) } return err } diff --git a/funcs.go b/funcs.go index 4737faf..42023e2 100644 --- a/funcs.go +++ b/funcs.go @@ -29,4 +29,4 @@ type FlagStringFunc func(Flag) string // ExitErrHandlerFunc is executed if provided in order to handle ExitError values // returned by Actions and Before/After functions. -type ExitErrHandlerFunc func(error) +type ExitErrHandlerFunc func(context *Context, error)