From d620665f6b2e1ae5db4c98a09e35bd63133ae87f Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Fri, 23 Feb 2024 20:37:39 +0000 Subject: Add logic skeleton for rust version --- src/main.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main.rs (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..cb258c2 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,27 @@ +// mod argument_parser; +mod configuration; +mod command; + +use std::env::args; +use std::io::Result; +use configuration::Configuration; +use command::{available_commands, Command, help::Help}; + +fn main() -> Result<()> { + let configuration = Configuration::new(); + let commands = available_commands(); + + println!("CONFIGURATION DIRECTORY: {}", configuration.config_directory.display()); + println!("DATA DIRECTORY: {}", configuration.data_directory.display()); + println!("OUTPUT DIRECTORY: {}", configuration.output_directory.display()); + + let arguments: Vec = args().collect(); + + if let Some(command_name) = arguments.get(1) { + if let Some(command) = commands.iter().find(|&c| c.command() == command_name) { + return command.execute(arguments.get(2)); + } + } + + Help::new().execute(None) +} -- cgit