mirror of
https://github.com/onyx-and-iris/xair-cli.git
synced 2026-04-08 18:03:37 +00:00
38 lines
688 B
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)
|
|
}
|
|
}
|
|
}
|