func init()

in cmd/help.go [30:81]


func init() {
	helpCommand = &Command{
		Name: "help",
		Help: "Help",
		Handle: func(r *Request) error {
			if len(r.Args) < 1 || r.Args[0] == "-h" {
				PrintUsage()
				return nil
			}

			api := r.Config.GetCache()[strings.ToLower(r.Args[0])]
			if api == nil {
				return errors.New("unknown command or API requested")
			}

			fmt.Printf("\033[34m%s\033[0m: %s\n", api.Name, api.Description)
			if api.Async {
				fmt.Println("This API is \033[35masynchronous\033[0m.")
			}
			if len(api.RequiredArgs) > 0 {
				fmt.Printf("Required params: ")
				for _, requiredArg := range api.RequiredArgs {
					fmt.Printf("%s, ", strings.Replace(requiredArg, "=", "", -1))
				}
				fmt.Println()
			}
			if len(api.Args) > 0 {
				fmt.Printf("%-24s %-8s %s\n", "API Params", "Type", "Description")
				fmt.Printf("%-24s %-8s %s\n", "==========", "====", "===========")
			}
			for _, arg := range api.Args {
				if arg.Type == config.FAKE {
					continue
				}
				fmt.Printf("\033[36m%-24s\033[0m \033[32m%-8s\033[0m ", strings.Replace(arg.Name, "=", "", -1), arg.Type)
				info := []rune(arg.Description)
				for i, r := range info {
					fmt.Printf("%s", string(r))
					if i > 0 && i%40 == 0 {
						fmt.Println()
						for i := 0; i < 34; i++ {
							fmt.Printf(" ")
						}
					}
				}
				fmt.Println()
			}
			return nil
		},
	}
	AddCommand(helpCommand)
}