cpkg/
lib.rs

1pub mod application;
2pub mod cli;
3pub mod database;
4pub mod error;
5pub mod prelude;
6pub mod provider;
7pub mod subcommand;
8pub mod utility;
9
10use prelude::*;
11use subcommand::install;
12use subcommand::reinstall;
13use subcommand::remove;
14
15pub fn run_main() -> Result<()> {
16    // Handle command line arguments
17    let matches = cli::get_command_line().get_matches();
18
19    match matches.subcommand() {
20        Some((cli::SUBCOMMAND_INSTALL, sub_matches)) => {
21            install::run(sub_matches)?;
22        }
23
24        Some((cli::SUBCOMMAND_REMOVE, sub_matches)) => {
25            remove::run(sub_matches)?;
26        }
27
28        Some((cli::SUBCOMMAND_REINSTALL, sub_matches)) => {
29            reinstall::run(sub_matches)?;
30        }
31
32        #[allow(clippy::unreachable)]
33        _ => unreachable!("All subcommands should be defined"),
34    }
35
36    Ok(())
37}