Run the make2help
(argv []string)
| 27 | |
| 28 | // Run the make2help |
| 29 | func (cli *CLI) Run(argv []string) int { |
| 30 | argv, isHelp, all := parseFlags(argv) |
| 31 | if isHelp { |
| 32 | fmt.Fprintln(cli.ErrStream, help()) |
| 33 | return exitCodeOK |
| 34 | } |
| 35 | if len(argv) < 1 { |
| 36 | argv = []string{"Makefile"} |
| 37 | } |
| 38 | colorful := false |
| 39 | if w, ok := cli.OutStream.(*os.File); ok { |
| 40 | colorful = isatty.IsTerminal(w.Fd()) |
| 41 | cli.OutStream = colorable.NewColorable(w) |
| 42 | } |
| 43 | r := rules{} |
| 44 | for _, f := range argv { |
| 45 | tmpRule, err := scan(f) |
| 46 | if err != nil { |
| 47 | fmt.Fprintln(cli.ErrStream, err) |
| 48 | return exitCodeErr |
| 49 | } |
| 50 | r = r.merge(tmpRule) |
| 51 | } |
| 52 | fmt.Fprint(cli.OutStream, r.string(all, colorful)) |
| 53 | return exitCodeOK |
| 54 | } |
| 55 | |
| 56 | var ( |
| 57 | helpReg = regexp.MustCompile(`^--?h(?:elp)?$`) |