package cmd import ( "log" "github.com/spf13/cobra" ) // Get the value of a bool flag. func boolArg(cmd *cobra.Command, name string) bool { b, err := cmd.Flags().GetBool(name) if err != nil { log.Fatal(err) } return b } // Get the value of an int flag. func intArg(cmd *cobra.Command, name string) int { i, err := cmd.Flags().GetInt(name) if err != nil { log.Fatal(err) } return i } // Get the value of a string flag. func stringArg(cmd *cobra.Command, name string) string { str, err := cmd.Flags().GetString(name) if err != nil { log.Fatal(err) } return str } // Get the value of a string array flag. func stringArrayArg(cmd *cobra.Command, name string) []string { s, err := cmd.Flags().GetStringArray(name) if err != nil { log.Fatal(err) } return s } // Get the argv after the -- separator. func getArgv(cmd *cobra.Command, args []string) []string { lenAtDash := cmd.Flags().ArgsLenAtDash() if lenAtDash == -1 { return nil } else { return args[lenAtDash:] } }