From 4a8406ac8979d1df509f963e538a5b843fae53c1 Mon Sep 17 00:00:00 2001 From: Jacopo Date: Sun, 13 Dec 2015 09:31:32 +1000 Subject: [PATCH] Run check completion before error checking Running check completion before error checking allows for completion of flags when no character has been typed yet --- app.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app.go b/app.go index 9a15c0c..0805fd6 100644 --- a/app.go +++ b/app.go @@ -126,6 +126,10 @@ func (a *App) Run(arguments []string) (err error) { } context := NewContext(a, set, nil) + if checkCompletions(context) { + return nil + } + if err != nil { fmt.Fprintln(a.Writer, "Incorrect Usage.") fmt.Fprintln(a.Writer) @@ -133,10 +137,6 @@ func (a *App) Run(arguments []string) (err error) { return err } - if checkCompletions(context) { - return nil - } - if !a.HideHelp && checkHelp(context) { ShowAppHelp(context) return nil @@ -233,6 +233,10 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { return nerr } + if checkCompletions(context) { + return nil + } + if err != nil { fmt.Fprintln(a.Writer, "Incorrect Usage.") fmt.Fprintln(a.Writer) @@ -240,10 +244,6 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { return err } - if checkCompletions(context) { - return nil - } - if len(a.Commands) > 0 { if checkSubcommandHelp(context) { return nil