reactive_graph/shared/manpages/
mod.rs1use crate::shared::manpages::args::ManPagesArguments;
2use crate::shared::manpages::commands::ManPagesActionCommands;
3use crate::shared::manpages::commands::ManPagesCommands;
4use crate::shared::manpages::generate::install_man_pages;
5use crate::shared::manpages::generate::print_man_pages;
6use clap::CommandFactory;
7use std::process::exit;
8
9pub mod args;
10pub mod commands;
11pub mod error;
12pub mod generate;
13
14pub fn handle_man_pages<T: CommandFactory>(args: &ManPagesArguments) {
16 if let Some(commands) = &args.commands {
17 match commands {
18 ManPagesCommands::ManPages(args) => match &args.commands {
19 ManPagesActionCommands::Print => {
20 if let Err(e) = print_man_pages(T::command()) {
21 eprintln!("Failed to print man pages: {e}");
22 exit(1);
23 };
24 exit(0);
25 }
26 ManPagesActionCommands::Install => {
27 if let Err(e) = install_man_pages(T::command()) {
28 eprintln!("Failed to install man pages: {e}");
29 exit(1);
30 }
31 exit(0);
32 }
33 },
34 }
35 }
36}