shithub: hugo

Download patch

ref: 15b1e269ade91ddc6a74c552bc61b0c5e527d268
parent: 56a13080446283ed1cde6b69fc6f4fac85076c84
author: Bjørn Erik Pedersen <[email protected]>
date: Mon Apr 9 16:05:09 EDT 2018

comands: Make the config command non-global

See #4598

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -196,7 +196,7 @@
 	HugoCmd.AddCommand(serverCmd)
 	HugoCmd.AddCommand(newVersionCmd().getCommand())
 	HugoCmd.AddCommand(newEnvCmd().getCommand())
-	HugoCmd.AddCommand(configCmd)
+	HugoCmd.AddCommand(newConfigCmd().getCommand())
 	HugoCmd.AddCommand(newCheckCmd().getCommand())
 	HugoCmd.AddCommand(newBenchmarkCmd().getCommand())
 	HugoCmd.AddCommand(newConvertCmd().getCommand())
--- a/commands/limit_darwin.go
+++ b/commands/limit_darwin.go
@@ -1,17 +1,4 @@
-// Copyright 2015 The Hugo Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Copyright 2015 The Hugo Authors. All rights reserved.
+// Copyright 2018 The Hugo Authors. All rights reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
--- a/commands/list_config.go
+++ b/commands/list_config.go
@@ -22,18 +22,30 @@
 	"github.com/spf13/viper"
 )
 
-var configCmd = &cobra.Command{
-	Use:   "config",
-	Short: "Print the site configuration",
-	Long:  `Print the site configuration, both default and custom settings.`,
+var _ cmder = (*configCmd)(nil)
+
+type configCmd struct {
+	cmd *cobra.Command
 }
 
-func init() {
-	configCmd.RunE = printConfig
+func (c *configCmd) getCommand() *cobra.Command {
+	return c.cmd
 }
 
-func printConfig(cmd *cobra.Command, args []string) error {
-	cfg, err := InitializeConfig(false, nil, configCmd)
+func newConfigCmd() *configCmd {
+	cc := &configCmd{}
+	cc.cmd = &cobra.Command{
+		Use:   "config",
+		Short: "Print the site configuration",
+		Long:  `Print the site configuration, both default and custom settings.`,
+		RunE:  cc.printConfig,
+	}
+
+	return cc
+}
+
+func (c *configCmd) printConfig(cmd *cobra.Command, args []string) error {
+	cfg, err := InitializeConfig(false, nil, c.cmd)
 
 	if err != nil {
 		return err
--- a/commands/version.go
+++ b/commands/version.go
@@ -29,6 +29,10 @@
 	cmd *cobra.Command
 }
 
+func (c *versionCmd) getCommand() *cobra.Command {
+	return c.cmd
+}
+
 func newVersionCmd() *versionCmd {
 	return &versionCmd{
 		&cobra.Command{
@@ -41,10 +45,6 @@
 			},
 		},
 	}
-}
-
-func (c *versionCmd) getCommand() *cobra.Command {
-	return c.cmd
 }
 
 func printHugoVersion() {