shithub: hugo

Download patch

ref: d9282cf98a346fcf98f363d9c353e4920ca85fc7
parent: c52045bbb38cbf64b9cb39352230060aa122cc9f
author: Anton Harniakou <[email protected]>
date: Thu Jan 31 10:06:18 EST 2019

Store supported config formats in a variable

--- a/commands/commands.go
+++ b/commands/commands.go
@@ -167,8 +167,7 @@
 	cc.cmd.PersistentFlags().BoolVar(&cc.quiet, "quiet", false, "build in quiet mode")
 
 	// Set bash-completion
-	validConfigFilenames := []string{"json", "js", "yaml", "yml", "toml", "tml"}
-	_ = cc.cmd.PersistentFlags().SetAnnotation("config", cobra.BashCompFilenameExt, validConfigFilenames)
+	_ = cc.cmd.PersistentFlags().SetAnnotation("config", cobra.BashCompFilenameExt, config.ValidConfigFileExtensions)
 
 	cc.cmd.PersistentFlags().BoolVarP(&cc.verbose, "verbose", "v", false, "verbose output")
 	cc.cmd.PersistentFlags().BoolVarP(&cc.debug, "debug", "", false, "debug output")
--- a/config/configLoader.go
+++ b/config/configLoader.go
@@ -20,6 +20,10 @@
 	"github.com/spf13/viper"
 )
 
+var (
+	ValidConfigFileExtensions = []string{"toml", "yaml", "yml", "json"}
+)
+
 // FromConfigString creates a config from the given YAML, JSON or TOML config. This is useful in tests.
 func FromConfigString(config, configType string) (Provider, error) {
 	v := newViper()
--- a/hugolib/config.go
+++ b/hugolib/config.go
@@ -202,7 +202,7 @@
 			filename = baseFilename
 		}
 	} else {
-		for _, ext := range []string{"toml", "yaml", "yml", "json"} {
+		for _, ext := range config.ValidConfigFileExtensions {
 			filenameToCheck := baseFilename + "." + ext
 			exists, _ := helpers.Exists(filenameToCheck, l.Fs)
 			if exists {
--- a/hugolib/paths/themes.go
+++ b/hugolib/paths/themes.go
@@ -120,7 +120,7 @@
 	)
 
 	// Viper supports more, but this is the sub-set supported by Hugo.
-	for _, configFormats := range []string{"toml", "yaml", "yml", "json"} {
+	for _, configFormats := range config.ValidConfigFileExtensions {
 		configFilename = filepath.Join(configDir, "config."+configFormats)
 		exists, _ = afero.Exists(c.fs, configFilename)
 		if exists {