ref: b581bbd8563a7c7ee95f9dcf76850370df4673d2
parent: 223073c6fdf1258de41782f96444ac81f32e9235
author: Bjørn Erik Pedersen <[email protected]>
date: Thu Jul 7 14:06:48 EDT 2016
Make config flag global Fixes #2261
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -198,17 +198,15 @@
// initHugoBuilderFlags initializes all common flags, typically used by the
// core build commands, namely hugo itself, server, check and benchmark.
func initHugoBuilderFlags(cmd *cobra.Command) {
- initCoreCommonFlags(cmd)
initHugoBuildCommonFlags(cmd)
}
-// initCoreCommonFlags initializes common flags used by Hugo core commands.
-func initCoreCommonFlags(cmd *cobra.Command) {
- cmd.Flags().StringVar(&cfgFile, "config", "", "config file (default is path/config.yaml|json|toml)")
+func initRootPersistentFlags() {
+ HugoCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is path/config.yaml|json|toml)")
// Set bash-completion
validConfigFilenames := []string{"json", "js", "yaml", "yml", "toml", "tml"}
- cmd.Flags().SetAnnotation("config", cobra.BashCompFilenameExt, validConfigFilenames)
+ HugoCmd.PersistentFlags().SetAnnotation("config", cobra.BashCompFilenameExt, validConfigFilenames)
}
// initHugoBuildCommonFlags initialize common flags related to the Hugo build.
@@ -257,6 +255,7 @@
HugoCmd.PersistentFlags().StringVar(&logFile, "logFile", "", "Log File path (if set, logging enabled automatically)")
HugoCmd.PersistentFlags().BoolVar(&verboseLog, "verboseLog", false, "verbose logging")
+ initRootPersistentFlags()
initHugoBuilderFlags(HugoCmd)
initBenchmarkBuildingFlags(HugoCmd)
@@ -319,8 +318,6 @@
}
// InitializeConfig initializes a config file with sensible default configuration flags.
-// A Hugo command that calls initCoreCommonFlags() can pass itself
-// as an argument to have its command-line flags processed here.
func InitializeConfig(subCmdVs ...*cobra.Command) error {
viper.AutomaticEnv()
viper.SetEnvPrefix("hugo")
--- a/commands/list_config.go
+++ b/commands/list_config.go
@@ -15,10 +15,11 @@
import (
"fmt"
- "github.com/spf13/cobra"
- "github.com/spf13/viper"
"reflect"
"sort"
+
+ "github.com/spf13/cobra"
+ "github.com/spf13/viper"
)
var configCmd = &cobra.Command{
@@ -28,7 +29,6 @@
}
func init() {
- initCoreCommonFlags(configCmd)
configCmd.RunE = config
}