Use flag's string type in usage Now in usage shows flag.Value.Type() instead of flag.Value.(type), what makes library more flexible
diff --git a/flag.go b/flag.go index 965df13..708651e 100644 --- a/flag.go +++ b/flag.go
@@ -455,22 +455,19 @@ break // Only one back quote; use type name. } } - // No explicit name, so use type if we can find one. - name = "value" - switch flag.Value.(type) { - case boolFlag: + + name = flag.Value.Type() + switch name { + case "bool": name = "" - case *durationValue: - name = "duration" - case *float64Value: + case "float64": name = "float" - case *intValue, *int64Value: + case "int64": name = "int" - case *stringValue: - name = "string" - case *uintValue, *uint64Value: + case "uint64": name = "uint" } + return }