aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Nigmatzianov <[email protected]>2017-04-19 10:47:10 +0200
committerAlbert Nigmatzianov <[email protected]>2017-04-26 21:20:41 +0200
commit4995a3e9cc2102264d261ecf6350a612ea05eb87 (patch)
treea5c46813f45fa034e3d5810644dbbd705c3724eb
parent94213426a82552526e0afa13324b9f3a2754cb6f (diff)
Make more detailed error in Set
-rw-r--r--flag.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/flag.go b/flag.go
index 04f6594..8a8c89c 100644
--- a/flag.go
+++ b/flag.go
@@ -408,7 +408,13 @@ func (f *FlagSet) Set(name, value string) error {
}
err := flag.Value.Set(value)
if err != nil {
- return err
+ var flagName string
+ if len(flag.Shorthand) > 0 && len(flag.ShorthandDeprecated) == 0 {
+ flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name)
+ } else {
+ flagName = fmt.Sprintf("--%s", flag.Name)
+ }
+ return fmt.Errorf("invalid argument %q for %q flag: %v", value, flagName, err)
}
if f.actual == nil {
f.actual = make(map[NormalizedName]*Flag)