MCPcopy Index your code
hub / github.com/rilldata/rill / genMarkdownTreeCustom

Function genMarkdownTreeCustom

cli/cmd/docs/generate_cli.go:40–89  ·  view source on GitHub ↗
(cmd *cobra.Command, dir string, filePrepender func(string) string)

Source from the content-addressed store, hash-verified

38}
39
40func genMarkdownTreeCustom(cmd *cobra.Command, dir string, filePrepender func(string) string) error {
41 if cmd.Hidden {
42 return nil
43 }
44
45 for _, c := range cmd.Commands() {
46 if !c.IsAvailableCommand() || c.IsAdditionalHelpTopicCommand() {
47 continue
48 }
49
50 sd := dir
51 if cmd.Parent() != nil {
52 sd = filepath.Join(dir, cmd.Name())
53 }
54
55 if err := genMarkdownTreeCustom(c, sd, filePrepender); err != nil {
56 return err
57 }
58 }
59
60 nm := cmd.Name()
61 if cmd.Parent() == nil {
62 nm = "cli"
63 }
64
65 filename := filepath.Join(dir, nm+".md")
66 if len(cmd.Commands()) > 0 && cmd.Parent() != nil {
67 dir = filepath.Join(dir, cmd.Name())
68 filename = filepath.Join(dir, nm+".md")
69 }
70
71 if _, err := os.Stat(dir); os.IsNotExist(err) {
72 if err := os.MkdirAll(dir, fs.ModePerm); err != nil {
73 return err
74 }
75 }
76
77 f, err := os.Create(filename)
78 if err != nil {
79 return err
80 }
81
82 defer f.Close()
83
84 if _, err := f.WriteString(filePrepender(filename)); err != nil {
85 return err
86 }
87
88 return genMarkdownCustom(cmd, f)
89}
90
91func genMarkdownCustom(cmd *cobra.Command, w io.Writer) error {
92 cmd.InitDefaultHelpCmd()

Callers 1

genMarkdownTreeFunction · 0.85

Calls 6

genMarkdownCustomFunction · 0.85
CreateMethod · 0.80
NameMethod · 0.65
StatMethod · 0.65
MkdirAllMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected