comands: Make the config command non-global

See #4598
This commit is contained in:
Bjørn Erik Pedersen 2018-04-09 20:05:09 +02:00
parent 56a1308044
commit 15b1e269ad
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
4 changed files with 26 additions and 27 deletions

View file

@ -196,7 +196,7 @@ func AddCommands() {
HugoCmd.AddCommand(serverCmd) HugoCmd.AddCommand(serverCmd)
HugoCmd.AddCommand(newVersionCmd().getCommand()) HugoCmd.AddCommand(newVersionCmd().getCommand())
HugoCmd.AddCommand(newEnvCmd().getCommand()) HugoCmd.AddCommand(newEnvCmd().getCommand())
HugoCmd.AddCommand(configCmd) HugoCmd.AddCommand(newConfigCmd().getCommand())
HugoCmd.AddCommand(newCheckCmd().getCommand()) HugoCmd.AddCommand(newCheckCmd().getCommand())
HugoCmd.AddCommand(newBenchmarkCmd().getCommand()) HugoCmd.AddCommand(newBenchmarkCmd().getCommand())
HugoCmd.AddCommand(newConvertCmd().getCommand()) HugoCmd.AddCommand(newConvertCmd().getCommand())

View file

@ -1,17 +1,4 @@
// 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.
// 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.
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View file

@ -22,18 +22,30 @@ import (
"github.com/spf13/viper" "github.com/spf13/viper"
) )
var configCmd = &cobra.Command{ var _ cmder = (*configCmd)(nil)
type configCmd struct {
cmd *cobra.Command
}
func (c *configCmd) getCommand() *cobra.Command {
return c.cmd
}
func newConfigCmd() *configCmd {
cc := &configCmd{}
cc.cmd = &cobra.Command{
Use: "config", Use: "config",
Short: "Print the site configuration", Short: "Print the site configuration",
Long: `Print the site configuration, both default and custom settings.`, Long: `Print the site configuration, both default and custom settings.`,
RunE: cc.printConfig,
} }
func init() { return cc
configCmd.RunE = printConfig
} }
func printConfig(cmd *cobra.Command, args []string) error { func (c *configCmd) printConfig(cmd *cobra.Command, args []string) error {
cfg, err := InitializeConfig(false, nil, configCmd) cfg, err := InitializeConfig(false, nil, c.cmd)
if err != nil { if err != nil {
return err return err

View file

@ -29,6 +29,10 @@ type versionCmd struct {
cmd *cobra.Command cmd *cobra.Command
} }
func (c *versionCmd) getCommand() *cobra.Command {
return c.cmd
}
func newVersionCmd() *versionCmd { func newVersionCmd() *versionCmd {
return &versionCmd{ return &versionCmd{
&cobra.Command{ &cobra.Command{
@ -43,10 +47,6 @@ func newVersionCmd() *versionCmd {
} }
} }
func (c *versionCmd) getCommand() *cobra.Command {
return c.cmd
}
func printHugoVersion() { func printHugoVersion() {
if hugolib.CommitHash == "" { if hugolib.CommitHash == "" {
jww.FEEDBACK.Printf("Hugo Static Site Generator v%s %s/%s BuildDate: %s\n", helpers.CurrentHugoVersion, runtime.GOOS, runtime.GOARCH, hugolib.BuildDate) jww.FEEDBACK.Printf("Hugo Static Site Generator v%s %s/%s BuildDate: %s\n", helpers.CurrentHugoVersion, runtime.GOOS, runtime.GOARCH, hugolib.BuildDate)