diff options
Diffstat (limited to '')
-rw-r--r-- | src/args.rs | 4 | ||||
-rw-r--r-- | src/main.rs | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/args.rs b/src/args.rs index 77925a2..841db3a 100644 --- a/src/args.rs +++ b/src/args.rs @@ -156,6 +156,10 @@ pub struct CliArgs { #[clap(long = "print-completions", value_name = "shell", arg_enum)] pub print_completions: Option<Shell>, + /// Generate man page + #[clap(long = "print-manpage")] + pub print_manpage: bool, + /// TLS certificate to use #[cfg(feature = "tls")] #[clap(long = "tls-cert", requires = "tls-key", value_hint = ValueHint::FilePath)] diff --git a/src/main.rs b/src/main.rs index 63a620d..de10d7d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -40,6 +40,13 @@ fn main() -> Result<()> { return Ok(()); } + if args.print_manpage { + let clap_app = args::CliArgs::command(); + let man = clap_mangen::Man::new(clap_app); + man.render(&mut io::stdout())?; + return Ok(()); + } + let miniserve_config = MiniserveConfig::try_from_args(args)?; run(miniserve_config).map_err(|e| { |