tsk-77: Added code to print version

This commit is contained in:
kdeng00
2025-10-22 21:18:32 -04:00
parent 9328f3d3da
commit 11f9f4fc5e
3 changed files with 24 additions and 10 deletions
+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 {
+8 -7
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,10 +149,17 @@ 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();
if self.param_count <= 2 {
let flag = String::from(&self.params[1]);
if flag == "-v" {
parsed.push(flag);
}
} else {
for i in 2..self.params.len() { for i in 2..self.params.len() {
let flag = String::from(&self.params[i]); let flag = String::from(&self.params[i]);
parsed.push(flag); 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:?}");
}