diff --git a/flag.go b/flag.go index 2b21b6f..330bb64 100644 --- a/flag.go +++ b/flag.go @@ -1173,7 +1173,7 @@ func (f *FlagSet) Parse(arguments []string) error { case ContinueOnError: return err case ExitOnError: - if err == ErrHelp { + if errors.Is(err, ErrHelp) { os.Exit(0) } fmt.Fprintln(f.Output(), err) @@ -1202,6 +1202,9 @@ func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) case ContinueOnError: return err case ExitOnError: + if errors.Is(err, ErrHelp) { + os.Exit(0) + } fmt.Fprintln(f.Output(), err) os.Exit(2) case PanicOnError: