@@ -3,6 +3,7 @@ package main
33import (
44 "fmt"
55 "os"
6+ "path/filepath"
67 "strings"
78
89 "github.com/cli/cli/internal/docs"
@@ -13,27 +14,30 @@ import (
1314)
1415
1516func main () {
16- var flagError pflag.ErrorHandling
17- docCmd := pflag .NewFlagSet ("" , flagError )
18- manPage := docCmd .BoolP ("man-page" , "" , false , "Generate manual pages" )
19- website := docCmd .BoolP ("website" , "" , false , "Generate website pages" )
20- dir := docCmd .StringP ("doc-path" , "" , "" , "Path directory where you want generate doc files" )
21- help := docCmd .BoolP ("help" , "h" , false , "Help about any command" )
22-
23- if err := docCmd .Parse (os .Args ); err != nil {
17+ if err := run (os .Args ); err != nil {
18+ fmt .Fprintln (os .Stderr , err )
2419 os .Exit (1 )
2520 }
21+ }
22+
23+ func run (args []string ) error {
24+ flags := pflag .NewFlagSet ("" , pflag .ContinueOnError )
25+ manPage := flags .BoolP ("man-page" , "" , false , "Generate manual pages" )
26+ website := flags .BoolP ("website" , "" , false , "Generate website pages" )
27+ dir := flags .StringP ("doc-path" , "" , "" , "Path directory where you want generate doc files" )
28+ help := flags .BoolP ("help" , "h" , false , "Help about any command" )
29+
30+ if err := flags .Parse (args ); err != nil {
31+ return err
32+ }
2633
2734 if * help {
28- _ , err := fmt .Fprintf (os .Stderr , "Usage of %s:\n \n %s" , os .Args [0 ], docCmd .FlagUsages ())
29- if err != nil {
30- fatal (err )
31- }
32- os .Exit (1 )
35+ fmt .Fprintf (os .Stderr , "Usage of %s:\n \n %s" , filepath .Base (args [0 ]), flags .FlagUsages ())
36+ return nil
3337 }
3438
3539 if * dir == "" {
36- fatal ( "no dir set" )
40+ return fmt . Errorf ( "error: --doc-path not set" )
3741 }
3842
3943 io , _ , _ , _ := iostreams .Test ()
@@ -43,15 +47,13 @@ func main() {
4347 }, "" , "" )
4448 rootCmd .InitDefaultHelpCmd ()
4549
46- err := os .MkdirAll (* dir , 0755 )
47- if err != nil {
48- fatal (err )
50+ if err := os .MkdirAll (* dir , 0755 ); err != nil {
51+ return err
4952 }
5053
5154 if * website {
52- err = docs .GenMarkdownTreeCustom (rootCmd , * dir , filePrepender , linkHandler )
53- if err != nil {
54- fatal (err )
55+ if err := docs .GenMarkdownTreeCustom (rootCmd , * dir , filePrepender , linkHandler ); err != nil {
56+ return err
5557 }
5658 }
5759
@@ -62,11 +64,12 @@ func main() {
6264 Source : "" ,
6365 Manual : "" ,
6466 }
65- err = docs .GenManTree (rootCmd , header , * dir )
66- if err != nil {
67- fatal (err )
67+ if err := docs .GenManTree (rootCmd , header , * dir ); err != nil {
68+ return err
6869 }
6970 }
71+
72+ return nil
7073}
7174
7275func filePrepender (filename string ) string {
@@ -82,11 +85,6 @@ func linkHandler(name string) string {
8285 return fmt .Sprintf ("./%s" , strings .TrimSuffix (name , ".md" ))
8386}
8487
85- func fatal (msg interface {}) {
86- fmt .Fprintln (os .Stderr , msg )
87- os .Exit (1 )
88- }
89-
9088type browser struct {}
9189
9290func (b * browser ) Browse (url string ) error {
0 commit comments