(fname string, cmd *kingpin.CmdModel)
| 269 | } |
| 270 | |
| 271 | func generateSubcommandPage(fname string, cmd *kingpin.CmdModel) { |
| 272 | f, err := os.Create(fname) //nolint:gosec |
| 273 | if err != nil { |
| 274 | log.Fatalf("unable to create page: %v", err) |
| 275 | } |
| 276 | defer f.Close() //nolint:errcheck |
| 277 | |
| 278 | title := cmd.FullCommand |
| 279 | |
| 280 | //nolint:errcheck |
| 281 | fmt.Fprintf(f, `--- |
| 282 | title: %q |
| 283 | linkTitle: %q |
| 284 | weight: 10 |
| 285 | toc_hide: true |
| 286 | hide_summary: true |
| 287 | --- |
| 288 | |
| 289 | `, title, title) |
| 290 | |
| 291 | var ( |
| 292 | argSummary strings.Builder |
| 293 | flagSummary strings.Builder |
| 294 | ) |
| 295 | |
| 296 | for _, a := range cmd.Args { |
| 297 | if a.Required { |
| 298 | argSummary.WriteString(" <") |
| 299 | argSummary.WriteString(a.Name) |
| 300 | argSummary.WriteRune('>') |
| 301 | } else { |
| 302 | argSummary.WriteString(" [") |
| 303 | argSummary.WriteString(a.Name) |
| 304 | argSummary.WriteRune(']') |
| 305 | } |
| 306 | } |
| 307 | |
| 308 | for _, fl := range cmd.Flags { |
| 309 | if fl.Required { |
| 310 | flagSummary.WriteString(" \\\n --" + fl.Name + "=...") |
| 311 | } |
| 312 | } |
| 313 | |
| 314 | fmt.Fprintf(f, "```shell\n$ kopia %v%v%v\n```\n\n", cmd.FullCommand, flagSummary.String(), argSummary.String()) //nolint:errcheck |
| 315 | fmt.Fprintf(f, "%v\n\n", escapeFlags(cmd.Help)) //nolint:errcheck |
| 316 | |
| 317 | emitFlags(f, cmd.Flags) |
| 318 | emitArgs(f, cmd.Args) |
| 319 | } |
| 320 | |
| 321 | func main() { |
| 322 | flag.Parse() |
no test coverage detected