func printCommandPrefixHelp(ctx cli.Context, prefix ...string) { handler := getHandler(ctx.Handlers(), prefix) if handler == nil { ExitF("Command not found") } w := new(tabwriter.Writer) w.Init(os.Stdout, 0, 0, 3, ' ', 0) fmt.Fprintf(w, "%s\n", handler.Description) fmt.Fprintf(w, "%s %s\n", Name, handler.Pattern) for _, group := range handler.FlagGroups { fmt.Fprintf(w, "\n%s:\n", group.Name) for _, flag := range group.Flags { boolFlag, isBool := flag.(cli.BoolFlag) if isBool && boolFlag.OmitValue { fmt.Fprintf(w, " %s\t%s\n", strings.Join(flag.GetPatterns(), ", "), flag.GetDescription()) } else { fmt.Fprintf(w, " %s <%s>\t%s\n", strings.Join(flag.GetPatterns(), ", "), flag.GetName(), flag.GetDescription()) } } } w.Flush() }
func printHelp(ctx cli.Context) { w := new(tabwriter.Writer) w.Init(os.Stdout, 0, 0, 3, ' ', 0) fmt.Fprintf(w, "%s usage:\n\n", Name) for _, h := range ctx.Handlers() { fmt.Fprintf(w, "%s %s\t%s\n", Name, h.Pattern, h.Description) } w.Flush() }