tsk-77: Print version of the software #86

Merged
kdeng00 merged 5 commits from tsk-77 into main 2025-10-22 21:40:12 -04:00
3 changed files with 24 additions and 10 deletions
Showing only changes of commit 11f9f4fc5e - Show all commits
+7
View File
@@ -4,6 +4,7 @@ mod models;
mod parsers; mod parsers;
mod syncers; mod syncers;
mod utilities; mod utilities;
mod version;
use std::env; use std::env;
@@ -24,6 +25,12 @@ async fn main() {
act_mgr.initialize(); act_mgr.initialize();
let chosen_act = act_mgr.retrieve_icarus_action(); let chosen_act = act_mgr.retrieve_icarus_action();
for act in &chosen_act.flags {
if act.flag == "-v" {
version::print_version();
utilities::checks::exit_program(-1);
}
}
chosen_act.print_action_and_flags(); chosen_act.print_action_and_flags();
let mut cmt_mgr = managers::commit_manager::CommitManager { let mut cmt_mgr = managers::commit_manager::CommitManager {
+11 -10
View File
@@ -48,6 +48,7 @@ impl ActionManager {
String::from("-ca"), String::from("-ca"),
String::from("-smca"), String::from("-smca"),
String::from("-t"), String::from("-t"),
String::from("-v")
] ]
} }
@@ -63,31 +64,24 @@ impl ActionManager {
} }
fn validate_flags(&mut self) { fn validate_flags(&mut self) {
println!("Validating flags");
let flag_vals = self.parsed_flags(); let flag_vals = self.parsed_flags();
let mut i = 0; let mut i = 0;
println!("Flag count: {}", flag_vals.len());
while i < flag_vals.len() { while i < flag_vals.len() {
let flag = &flag_vals[i]; let flag = &flag_vals[i];
println!("Index: {i} | Value: {flag}");
let mut flg = models::flags::Flags::default(); let mut flg = models::flags::Flags::default();
// TODO: Refactor this // TODO: Refactor this
if self.is_valid_flag(flag) && self.does_flag_have_value(flag) { if self.is_valid_flag(flag) && self.does_flag_have_value(flag) {
println!("Flag has value");
flg.flag = String::from(flag); flg.flag = String::from(flag);
flg.value = String::from(&flag_vals[i + 1]); flg.value = String::from(&flag_vals[i + 1]);
i += 1; i += 1;
} else if self.is_valid_flag(flag) { } else if self.is_valid_flag(flag) {
println!("Flag does not have a value");
flg.flag = String::from(flag); flg.flag = String::from(flag);
} else { } else {
println!("Flag {flag} is not valid");
utilities::checks::exit_program(-1); utilities::checks::exit_program(-1);
} }
@@ -155,9 +149,16 @@ impl ActionManager {
fn parsed_flags(&self) -> Vec<String> { fn parsed_flags(&self) -> Vec<String> {
let mut parsed: Vec<String> = Vec::new(); let mut parsed: Vec<String> = Vec::new();
for i in 2..self.params.len() { if self.param_count <= 2 {
let flag = String::from(&self.params[i]); let flag = String::from(&self.params[1]);
parsed.push(flag); if flag == "-v" {
parsed.push(flag);
}
} else {
for i in 2..self.params.len() {
let flag = String::from(&self.params[i]);
parsed.push(flag);
}
} }
parsed parsed
+6
View File
@@ -0,0 +1,6 @@
pub fn print_version() {
let name = env!("CARGO_PKG_NAME");
let version = env!("CARGO_PKG_VERSION");
println!("{name:?} {version:?}");
}