MCPcopy
hub / github.com/cli/cli / run

Function run

cmd/gen-docs/main.go:29–77  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

27}
28
29func run(args []string) error {
30 flags := pflag.NewFlagSet("", pflag.ContinueOnError)
31 manPage := flags.BoolP("man-page", "", false, "Generate manual pages")
32 website := flags.BoolP("website", "", false, "Generate website pages")
33 dir := flags.StringP("doc-path", "", "", "Path directory where you want generate doc files")
34 help := flags.BoolP("help", "h", false, "Help about any command")
35
36 if err := flags.Parse(args); err != nil {
37 return err
38 }
39
40 if *help {
41 fmt.Fprintf(os.Stderr, "Usage of %s:\n\n%s", filepath.Base(args[0]), flags.FlagUsages())
42 return nil
43 }
44
45 if *dir == "" {
46 return fmt.Errorf("error: --doc-path not set")
47 }
48
49 ios, _, _, _ := iostreams.Test()
50 rootCmd, _ := root.NewCmdRoot(&cmdutil.Factory{
51 IOStreams: ios,
52 Browser: &browser{},
53 Config: func() (gh.Config, error) {
54 return config.NewFromString(""), nil
55 },
56 ExtensionManager: &em{},
57 }, &telemetry.NoOpService{}, "", "")
58 rootCmd.InitDefaultHelpCmd()
59
60 if err := os.MkdirAll(*dir, 0755); err != nil {
61 return err
62 }
63
64 if *website {
65 if err := docs.GenMarkdownTreeCustom(rootCmd, *dir, filePrepender, linkHandler); err != nil {
66 return err
67 }
68 }
69
70 if *manPage {
71 if err := docs.GenManTree(rootCmd, *dir); err != nil {
72 return err
73 }
74 }
75
76 return nil
77}
78
79func filePrepender(filename string) string {
80 return `---

Callers 2

Test_runFunction · 0.70
mainFunction · 0.70

Calls 7

TestFunction · 0.92
NewCmdRootFunction · 0.92
NewFromStringFunction · 0.92
GenMarkdownTreeCustomFunction · 0.92
GenManTreeFunction · 0.92
BaseMethod · 0.80
ErrorfMethod · 0.65

Tested by 1

Test_runFunction · 0.56