From 02313115e30fda25e312f4d2782dcaab12bac5b1 Mon Sep 17 00:00:00 2001 From: Inhere Date: Mon, 18 Jul 2022 10:07:17 +0800 Subject: [PATCH] fix: app help not working on input -h|--help --- app.go | 2 +- base.go | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app.go b/app.go index 340e446..34467e3 100644 --- a/app.go +++ b/app.go @@ -265,7 +265,7 @@ func (app *App) AddAliases(name string, aliases ...string) { // parseGlobalOpts parse global options func (app *App) parseGlobalOpts(args []string) (ok bool) { - Logf(VerbDebug, "will begin parse global options") + Logf(VerbDebug, "will begin parse application options") // parse global options err := app.core.doParseGOpts(args) diff --git a/base.go b/base.go index 0c8879b..bae66c0 100644 --- a/base.go +++ b/base.go @@ -10,6 +10,7 @@ import ( "strings" "github.com/gookit/color" + "github.com/gookit/goutil/cflag" "github.com/gookit/goutil/mathutil" "github.com/gookit/goutil/structs" "github.com/gookit/goutil/strutil" @@ -43,17 +44,20 @@ type core struct { // }) // } +// parse global options func (c core) doParseGOpts(args []string) (err error) { if c.gFlags == nil { // skip on nil return } - // parse global options err = c.gFlags.Parse(args) + if err != nil { + if cflag.IsFlagHelpErr(err) { + return nil + } Logf(VerbWarn, "parse global options err: %s", err.Error()) } - return }