From d05b297e61774a4ad09e5f9720d21a8dbd373cd7 Mon Sep 17 00:00:00 2001 From: Anthony Fok Date: Tue, 8 Sep 2015 23:05:11 -0600 Subject: Add helpers.NormalizeHugoFlagsFunc() to handle flag name changes It currently handles --baseUrl to --baseURL, and --uglyUrls to --uglyURLs. Special thanks to Eric Paris (@eparis) for writing the "normalized name" support in Cobra, and for showing us how it is used in Kubernetes. See Issue #959 --- helpers/general.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'helpers') diff --git a/helpers/general.go b/helpers/general.go index c6adc855a..d97c78454 100644 --- a/helpers/general.go +++ b/helpers/general.go @@ -31,6 +31,7 @@ import ( "github.com/spf13/cast" bp "github.com/spf13/hugo/bufferpool" jww "github.com/spf13/jwalterweatherman" + "github.com/spf13/pflag" "github.com/spf13/viper" ) @@ -428,3 +429,17 @@ func DoArithmetic(a, b interface{}, op rune) (interface{}, error) { return nil, errors.New("There is no such an operation") } } + +// NormalizeHugoFlagsFunc facilitates transitions of Hugo command-line flags, +// e.g. --baseUrl to --baseURL, --uglyUrls to --uglyURLs +func NormalizeHugoFlagsFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + switch name { + case "baseUrl": + name = "baseURL" + break + case "uglyUrls": + name = "uglyURLs" + break + } + return pflag.NormalizedName(name) +} -- cgit v1.2.3