summaryrefslogtreecommitdiff
path: root/cmd/cobra.go
blob: ad95ec0d3694501aca209f93261dbe63fc73aedd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package caddycmd

import (
	"github.com/spf13/cobra"
)

var rootCmd = &cobra.Command{
	Use: "caddy",
}

const docsHeader = "{{if not .HasParent}} Caddy is an extensible server platform.\n\n{{end}}"
const fullDocsFooter = `Full documentation is available at:
https://caddyserver.com/docs/command-line
`

func init() {
	rootCmd.SetHelpTemplate(docsHeader + rootCmd.HelpTemplate() + "\n" + fullDocsFooter)
}

func caddyCmdToCoral(caddyCmd Command) *cobra.Command {
	cmd := &cobra.Command{
		Use:   caddyCmd.Name,
		Short: caddyCmd.Short,
		Long:  caddyCmd.Long,
		RunE: func(cmd *cobra.Command, _ []string) error {
			fls := cmd.Flags()
			_, err := caddyCmd.Func(Flags{fls})
			return err
		},
	}
	cmd.Flags().AddGoFlagSet(caddyCmd.Flags)
	return cmd
}