3 Commits

Author SHA1 Message Date
828d7cc248 add go mod tidy hook 2026-03-21 13:57:22 +00:00
5fa2aabecb upd generate help script 2026-03-21 11:08:41 +00:00
ac8a677f99 add generate task
run it from pre-commit
2026-03-21 10:46:16 +00:00
3 changed files with 20 additions and 9 deletions

View File

@@ -3,6 +3,11 @@ repos:
hooks:
- id: update-readme
name: update-readme
entry: go generate ./tools
entry: task generate
language: system
pass_filenames: false
- repo: https://github.com/tekwizely/pre-commit-golang
rev: v1.0.0-rc.4
hooks:
- id: go-mod-tidy

View File

@@ -63,7 +63,7 @@ tasks:
cmds:
- '{{.SHELL}} rm -r {{.BIN_DIR}}'
update-readme:
desc: Update the README.md file with the latest help output from the commands
generate:
desc: Run code generation
cmds:
- go generate ./tools
- go generate ./...

View File

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