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(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())

View file

@ -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.

View file

@ -22,18 +22,30 @@ import (
"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

View file

@ -29,6 +29,10 @@ type versionCmd struct {
cmd *cobra.Command
}
func (c *versionCmd) getCommand() *cobra.Command {
return c.cmd
}
func newVersionCmd() *versionCmd {
return &versionCmd{
&cobra.Command{
@ -43,10 +47,6 @@ func newVersionCmd() *versionCmd {
}
}
func (c *versionCmd) getCommand() *cobra.Command {
return c.cmd
}
func printHugoVersion() {
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)