From 3741457400aa1a40bac77971975dc4d99360764e Mon Sep 17 00:00:00 2001 From: jharshman Date: Wed, 30 Jan 2019 00:58:29 -0800 Subject: [PATCH] add CommandTemplate --- cobra/cmd/project.go | 2 ++ cobra/tpl/main.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/cobra/cmd/project.go b/cobra/cmd/project.go index 34dea56..789a249 100644 --- a/cobra/cmd/project.go +++ b/cobra/cmd/project.go @@ -19,6 +19,8 @@ type Project struct { Legal License Viper bool AppName string + CmdName string + CmdParent string // v1 absPath string diff --git a/cobra/tpl/main.go b/cobra/tpl/main.go index b62d026..1b8ff10 100644 --- a/cobra/tpl/main.go +++ b/cobra/tpl/main.go @@ -107,3 +107,47 @@ func initConfig() { {{ end }} `) } + +func AddCommandTemplate() []byte { + return []byte(`/* +{{ .Copyright }} +{{ if .Legal.Header }}{{ .Legal.Header }}{{ end }} +*/ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +// {{ .CmdName }}Cmd represents the {{ .CmdName }} command +var {{ .CmdName }}Cmd = &cobra.Command{ + Use: "{{ .CmdName }}", + Short: "A brief description of your command", + Long: ` + "`" + `A longer description that spans multiple lines and likely contains examples +and usage of using your command. For example: + +Cobra is a CLI library for Go that empowers applications. +This application is a tool to generate the needed files +to quickly create a Cobra application.` + "`" + `, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("{{ .CmdName }} called") + }, +} + +func init() { + {{ .CmdParent }}.AddCommand({{ .CmdName }}Cmd) + + // Here you will define your flags and configuration settings. + + // Cobra supports Persistent Flags which will work for this command + // and all subcommands, e.g.: + // {{ .CmdName }}Cmd.PersistentFlags().String("foo", "", "A help for foo") + + // Cobra supports local flags which will only run when this command + // is called directly, e.g.: + // {{ .CmdName }}Cmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") +} +`) +} \ No newline at end of file