mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-31 21:37:08 -06:00
Add the man-and-completions example, which writes photocraft-cli's completions for bash, zsh, fish, elvish and PowerShell (clap_complete) and its man pages (clap_mangen: photocraft-cli.1 and one per subcommand, such as photocraft-cli-convert.1) into a directory: cargo run -p photocraft-cli --example man-and-completions -- <out-dir> clap_complete and clap_mangen are dev-dependencies, so the binary is unchanged. clap_mangen gets its env feature, so the pages name each flag's environment variable as --help does; clap already has env, so Cargo.lock gains no package for it. The library exposes only `command()`, the clap definition; the args module stays private. A test runs Command::debug_assert and checks that every shell's completions and every page generate. Another repeats the example's two generate_to calls and pins the exact file list: the five completion files under the names the packages install, photocraft-cli.1, one page per subcommand, and no pages for the help subcommand. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>