commit | c861bdefb7e99feac876a9c3c7673e73f634842d | [log] [tgz] |
---|---|---|
author | Kiril Zvezdarov <kzvezdarov@monetate.com> | Wed Apr 01 21:42:06 2015 -0400 |
committer | Kiril Zvezdarov <kzvezdarov@monetate.com> | Thu Apr 02 17:04:19 2015 -0400 |
tree | fce179a91d00c482b78b198a13435a3b78e46cce | |
parent | 19ed4964729b5043983925262fe74100ebfece0f [diff] |
Set default values when binding the whole flagset
diff --git a/viper.go b/viper.go index 0fed695..7099b9c 100644 --- a/viper.go +++ b/viper.go
@@ -429,6 +429,14 @@ } err = v.BindPFlag(flag.Name, flag) + switch flag.Value.Type() { + case "int", "int8", "int16", "int32", "int64": + v.SetDefault(flag.Name, cast.ToInt(flag.Value.String())) + case "bool": + v.SetDefault(flag.Name, cast.ToBool(flag.Value.String())) + default: + v.SetDefault(flag.Name, flag.Value.String()) + } }) return }