Skip to main content

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}