Use Type() instead of internal .(*stringValue)
This makes things easier to read/understand and it also means that users
who declare their own flags and call them "string" will get quotes as
well.
diff --git a/flag.go b/flag.go
index 81b3c1f..c99ccf3 100644
--- a/flag.go
+++ b/flag.go
@@ -387,7 +387,7 @@
if len(flag.NoOptDefVal) > 0 {
format = format + "["
}
- if _, ok := flag.Value.(*stringValue); ok {
+ if flag.Value.Type() == "string" {
// put quotes on the value
format = format + "=%q"
} else {