Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Usage:
- MZR [command]
- Available Commands:
- echo Echo anything to the screen
- help Help about any command
- print Print anything to the screen
- Flags:
- -h, --help help for MZR
- Use "MZR [command] --help" for more information about a command.
- [Process completed]
- package main
- import (
- "fmt"
- "strings"
- "github.com/spf13/cobra"
- )
- func main() {
- var echoTimes int
- var cmdPrint = &cobra.Command{
- Use: "print [string to print]",
- Short: "Print anything to the screen",
- Long: `print is for printing anything back to the screen.
- For many years people have printed back to the screen.`,
- Args: cobra.MinimumNArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Print: " + strings.Join(args, " "))
- },
- }
- var cmdEcho = &cobra.Command{
- Use: "echo [string to echo]",
- Short: "Echo anything to the screen",
- Long: `echo is for echoing anything back.
- Echo works a lot like print, except it has a child command.`,
- Args: cobra.MinimumNArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Print: " + strings.Join(args, " "))
- },
- }
- var cmdTimes = &cobra.Command{
- Use: "times [# times] [string to echo]",
- Short: "Echo anything to the screen more times",
- Long: `echo things multiple times back to the user by providing
- a count and a string.`,
- Args: cobra.MinimumNArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
- for i := 0; i < echoTimes; i++ {
- fmt.Println("Echo: " + strings.Join(args, " "))
- }
- },
- }
- cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input")
- var rootCmd = &cobra.Command{Use: "MZR"}
- rootCmd.AddCommand(cmdPrint, cmdEcho)
- cmdEcho.AddCommand(cmdTimes)
- rootCmd.Execute()
- }
Add Comment
Please, Sign In to add comment