Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-04-09 21:42:08 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-04-11 10:48:56 +0300
commite26a8b242a6434117d089a0799238add7025dbf4 (patch)
treef6578e4eab781a641b17522dc0d89dd1bbd2a347 /commands
parent2a2c9838671b5401331d20f8c72e2b934fe34e8d (diff)
commands: Make the list commands non-global
See #4598
Diffstat (limited to 'commands')
-rw-r--r--commands/genchromastyles.go8
-rw-r--r--commands/gendocshelper.go8
-rw-r--r--commands/hugo.go6
-rw-r--r--commands/list.go229
4 files changed, 139 insertions, 112 deletions
diff --git a/commands/genchromastyles.go b/commands/genchromastyles.go
index 66a2b50a6..6d7b8b5cb 100644
--- a/commands/genchromastyles.go
+++ b/commands/genchromastyles.go
@@ -22,6 +22,10 @@ import (
"github.com/spf13/cobra"
)
+var (
+ _ cmder = (*genChromaStyles)(nil)
+)
+
type genChromaStyles struct {
style string
highlightStyle string
@@ -29,6 +33,10 @@ type genChromaStyles struct {
cmd *cobra.Command
}
+func (c *genChromaStyles) getCommand() *cobra.Command {
+ return c.cmd
+}
+
// TODO(bep) highlight
func createGenChromaStyles() *genChromaStyles {
g := &genChromaStyles{
diff --git a/commands/gendocshelper.go b/commands/gendocshelper.go
index ca781242e..e98bfde79 100644
--- a/commands/gendocshelper.go
+++ b/commands/gendocshelper.go
@@ -23,11 +23,19 @@ import (
"github.com/spf13/cobra"
)
+var (
+ _ cmder = (*genDocsHelper)(nil)
+)
+
type genDocsHelper struct {
target string
cmd *cobra.Command
}
+func (c *genDocsHelper) getCommand() *cobra.Command {
+ return c.cmd
+}
+
func createGenDocsHelper() *genDocsHelper {
g := &genDocsHelper{
cmd: &cobra.Command{
diff --git a/commands/hugo.go b/commands/hugo.go
index 6e3dc488d..30670a30e 100644
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -201,15 +201,15 @@ func AddCommands() {
HugoCmd.AddCommand(newBenchmarkCmd().getCommand())
HugoCmd.AddCommand(newConvertCmd().getCommand())
HugoCmd.AddCommand(newNewCmd().getCommand())
- HugoCmd.AddCommand(listCmd)
+ HugoCmd.AddCommand(newListCmd().getCommand())
HugoCmd.AddCommand(newImportCmd().getCommand())
HugoCmd.AddCommand(genCmd)
genCmd.AddCommand(genautocompleteCmd)
genCmd.AddCommand(gendocCmd)
genCmd.AddCommand(genmanCmd)
- genCmd.AddCommand(createGenDocsHelper().cmd)
- genCmd.AddCommand(createGenChromaStyles().cmd)
+ genCmd.AddCommand(createGenDocsHelper().getCommand())
+ genCmd.AddCommand(createGenChromaStyles().getCommand())
}
diff --git a/commands/list.go b/commands/list.go
index b391f204e..c21158f64 100644
--- a/commands/list.go
+++ b/commands/list.go
@@ -21,129 +21,140 @@ import (
jww "github.com/spf13/jwalterweatherman"
)
-func init() {
- listCmd.AddCommand(listDraftsCmd)
- listCmd.AddCommand(listFutureCmd)
- listCmd.AddCommand(listExpiredCmd)
- listCmd.PersistentFlags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
- listCmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
-}
-
-var listCmd = &cobra.Command{
- Use: "list",
- Short: "Listing out various types of content",
- Long: `Listing out various types of content.
+var _ cmder = (*listCmd)(nil)
-List requires a subcommand, e.g. ` + "`hugo list drafts`.",
- RunE: nil,
+type listCmd struct {
+ cmd *cobra.Command
}
-var listDraftsCmd = &cobra.Command{
- Use: "drafts",
- Short: "List all drafts",
- Long: `List all of the drafts in your content directory.`,
- RunE: func(cmd *cobra.Command, args []string) error {
- cfgInit := func(c *commandeer) error {
- c.Set("buildDrafts", true)
- return nil
- }
- c, err := InitializeConfig(false, cfgInit)
- if err != nil {
- return err
- }
-
- sites, err := hugolib.NewHugoSites(*c.DepsCfg)
-
- if err != nil {
- return newSystemError("Error creating sites", err)
- }
-
- if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
- return newSystemError("Error Processing Source Content", err)
- }
-
- for _, p := range sites.Pages() {
- if p.IsDraft() {
- jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
- }
-
- }
-
- return nil
-
- },
+func (c *listCmd) getCommand() *cobra.Command {
+ return c.cmd
}
-var listFutureCmd = &cobra.Command{
- Use: "future",
- Short: "List all posts dated in the future",
- Long: `List all of the posts in your content directory which will be
-posted in the future.`,
- RunE: func(cmd *cobra.Command, args []string) error {
- cfgInit := func(c *commandeer) error {
- c.Set("buildFuture", true)
- return nil
- }
- c, err := InitializeConfig(false, cfgInit)
- if err != nil {
- return err
- }
-
- sites, err := hugolib.NewHugoSites(*c.DepsCfg)
-
- if err != nil {
- return newSystemError("Error creating sites", err)
- }
-
- if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
- return newSystemError("Error Processing Source Content", err)
- }
-
- for _, p := range sites.Pages() {
- if p.IsFuture() {
- jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
- }
+func newListCmd() *listCmd {
+ cc := &listCmd{}
- }
+ cc.cmd = &cobra.Command{
+ Use: "list",
+ Short: "Listing out various types of content",
+ Long: `Listing out various types of content.
- return nil
+List requires a subcommand, e.g. ` + "`hugo list drafts`.",
+ RunE: nil,
+ }
+
+ cc.cmd.AddCommand(
+ &cobra.Command{
+ Use: "drafts",
+ Short: "List all drafts",
+ Long: `List all of the drafts in your content directory.`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ cfgInit := func(c *commandeer) error {
+ c.Set("buildDrafts", true)
+ return nil
+ }
+ c, err := InitializeConfig(false, cfgInit)
+ if err != nil {
+ return err
+ }
+
+ sites, err := hugolib.NewHugoSites(*c.DepsCfg)
+
+ if err != nil {
+ return newSystemError("Error creating sites", err)
+ }
+
+ if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
+ return newSystemError("Error Processing Source Content", err)
+ }
+
+ for _, p := range sites.Pages() {
+ if p.IsDraft() {
+ jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
+ }
+
+ }
+
+ return nil
+
+ },
+ },
+ &cobra.Command{
+ Use: "future",
+ Short: "List all posts dated in the future",
+ Long: `List all of the posts in your content directory which will be
+posted in the future.`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ cfgInit := func(c *commandeer) error {
+ c.Set("buildFuture", true)
+ return nil
+ }
+ c, err := InitializeConfig(false, cfgInit)
+ if err != nil {
+ return err
+ }
+
+ sites, err := hugolib.NewHugoSites(*c.DepsCfg)
+
+ if err != nil {
+ return newSystemError("Error creating sites", err)
+ }
+
+ if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
+ return newSystemError("Error Processing Source Content", err)
+ }
+
+ for _, p := range sites.Pages() {
+ if p.IsFuture() {
+ jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
+ }
+
+ }
+
+ return nil
+
+ },
+ },
+ &cobra.Command{
+ Use: "expired",
+ Short: "List all posts already expired",
+ Long: `List all of the posts in your content directory which has already
+expired.`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ cfgInit := func(c *commandeer) error {
+ c.Set("buildExpired", true)
+ return nil
+ }
+ c, err := InitializeConfig(false, cfgInit)
+ if err != nil {
+ return err
+ }
- },
-}
+ sites, err := hugolib.NewHugoSites(*c.DepsCfg)
-var listExpiredCmd = &cobra.Command{
- Use: "expired",
- Short: "List all posts already expired",
- Long: `List all of the posts in your content directory which has already
-expired.`,
- RunE: func(cmd *cobra.Command, args []string) error {
- cfgInit := func(c *commandeer) error {
- c.Set("buildExpired", true)
- return nil
- }
- c, err := InitializeConfig(false, cfgInit)
- if err != nil {
- return err
- }
+ if err != nil {
+ return newSystemError("Error creating sites", err)
+ }
- sites, err := hugolib.NewHugoSites(*c.DepsCfg)
+ if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
+ return newSystemError("Error Processing Source Content", err)
+ }
- if err != nil {
- return newSystemError("Error creating sites", err)
- }
+ for _, p := range sites.Pages() {
+ if p.IsExpired() {
+ jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
+ }
- if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
- return newSystemError("Error Processing Source Content", err)
- }
+ }
- for _, p := range sites.Pages() {
- if p.IsExpired() {
- jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
- }
+ return nil
- }
+ },
+ },
+ )
- return nil
+ cc.cmd.PersistentFlags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
+ cc.cmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
- },
+ return cc
}