From 732e97aee8f2fd38b1ff346354d81bdfb5e1a5ad Mon Sep 17 00:00:00 2001 From: Ryan Graham Date: Sun, 18 Oct 2015 17:02:23 -0700 Subject: [PATCH] only display app version and help message once When processing the flags for -h/--help and -v/--version, only check the flags in checkVersion() and checkHelp() instead of also printing the associated message. This fixes the problem of `app -h` and `app -v` printing their output twice. The doubling was caused by printing the message once for each registred alias for the given flags (-h/--help and -v/--version). Resolves #285 --- app.go | 2 ++ help.go | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app.go b/app.go index 1a77f3b..9a15c0c 100644 --- a/app.go +++ b/app.go @@ -138,10 +138,12 @@ func (a *App) Run(arguments []string) (err error) { } if !a.HideHelp && checkHelp(context) { + ShowAppHelp(context) return nil } if !a.HideVersion && checkVersion(context) { + ShowVersion(context) return nil } diff --git a/help.go b/help.go index 5bfe401..a246f63 100644 --- a/help.go +++ b/help.go @@ -190,7 +190,6 @@ func checkVersion(c *Context) bool { if VersionFlag.Name != "" { eachName(VersionFlag.Name, func(name string) { if c.GlobalBool(name) || c.Bool(name) { - ShowVersion(c) found = true } }) @@ -203,7 +202,6 @@ func checkHelp(c *Context) bool { if HelpFlag.Name != "" { eachName(HelpFlag.Name, func(name string) { if c.GlobalBool(name) || c.Bool(name) { - ShowAppHelp(c) found = true } })