Maintain/Eliminate/Fn.rs
1//=============================================================================//
2// File Path: Element/Maintain/Source/Eliminate/Fn.rs
3//=============================================================================//
4// Module: Fn - Top-level entry point for the Eliminate module
5//=============================================================================//
6
7use clap::Parser;
8
9use super::{CLI, Logger};
10
11/// Initialise logging, parse CLI arguments, and run the elimination pipeline.
12pub fn Fn() {
13 Logger::Logger();
14
15 match CLI::Cli::try_parse() {
16 Ok(Cli) => {
17 if let Err(E) = Cli.execute() {
18 eprintln!("eliminate: error: {}", E);
19
20 std::process::exit(1);
21 }
22 },
23
24 Err(E) => {
25 E.print().expect("Failed to print clap error");
26
27 std::process::exit(E.exit_code());
28 },
29 }
30}