Files
xair-cli/tools/generate_help.go

38 lines
688 B
Go

//go:generate go run generate_help.go
package main
import (
"log"
"os"
"os/exec"
)
func main() {
clis := []struct {
cmd string
out string
}{
{"./cmd/xair-cli/", "xair-help.md"},
{"./cmd/x32-cli/", "x32-help.md"},
}
for _, cli := range clis {
cmdArgs := []string{"run", cli.cmd, "--help"}
helpCmd := exec.Command("go", cmdArgs...)
helpCmd.Dir = ".."
out, err := helpCmd.Output()
if err != nil {
log.Fatal(err)
}
// Wrap output in markdown console code block
wrapped := append([]byte("```console\n"), out...)
wrapped = append(wrapped, []byte("\n```\n")...)
if err := os.WriteFile(cli.out, wrapped, 0o644); err != nil {
log.Fatal(err)
}
}
}