package cmd import ( "fmt" "os" mcoral "github.com/muesli/mango-cobra" "github.com/muesli/roff" "github.com/spf13/cobra" ) type manCmd struct { cmd *cobra.Command } func newManCmd() *manCmd { root := &manCmd{} cmd := &cobra.Command{ Use: "man", Short: "Generates GoReleaser's command line manpages", SilenceUsage: true, DisableFlagsInUseLine: true, Hidden: true, Args: cobra.NoArgs, ValidArgsFunction: cobra.NoFileCompletions, RunE: func(_ *cobra.Command, _ []string) error { manPage, err := mcoral.NewManPage(1, root.cmd.Root()) if err != nil { return err } _, err = fmt.Fprint(os.Stdout, manPage.Build(roff.NewDocument())) return err }, } root.cmd = cmd return root }