(app *kingpin.ApplicationModel, section string, weight int, advanced bool)
| 159 | } |
| 160 | |
| 161 | func generateCommands(app *kingpin.ApplicationModel, section string, weight int, advanced bool) error { |
| 162 | dir := filepath.Join(*baseDir, section) |
| 163 | |
| 164 | if err := os.MkdirAll(dir, dirMode); err != nil { |
| 165 | return errors.Wrapf(err, "error creating section directory for %v", section) |
| 166 | } |
| 167 | |
| 168 | f, err := os.Create(filepath.Join(dir, "_index.md")) //nolint:gosec |
| 169 | if err != nil { |
| 170 | return errors.Wrap(err, "unable to create common flags file") |
| 171 | } |
| 172 | defer f.Close() //nolint:errcheck |
| 173 | |
| 174 | title := section + " Commands" |
| 175 | |
| 176 | //nolint:errcheck |
| 177 | fmt.Fprintf(f, `--- |
| 178 | title: %q |
| 179 | linkTitle: %q |
| 180 | weight: %v |
| 181 | hide_summary: true |
| 182 | no_list: true |
| 183 | --- |
| 184 | `, title, title, weight) |
| 185 | |
| 186 | flat := flattenCommands(app.Commands) |
| 187 | for _, c := range flat { |
| 188 | generateSubcommands(f, dir, c.Help, c.Commands, advanced) |
| 189 | } |
| 190 | |
| 191 | return nil |
| 192 | } |
| 193 | |
| 194 | func flattenCommands(cmds []*kingpin.CmdModel) []*kingpin.CmdModel { |
| 195 | var result []*kingpin.CmdModel |
no test coverage detected