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 syncers;
mod utilities;
mod version;
use std::env;
@@ -24,6 +25,12 @@ async fn main() {
act_mgr.initialize();
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();
let mut cmt_mgr = managers::commit_manager::CommitManager {
+8 -7
View File
@@ -48,6 +48,7 @@ impl ActionManager {
String::from("-ca"),
String::from("-smca"),
String::from("-t"),
String::from("-v")
]
}
@@ -63,31 +64,24 @@ impl ActionManager {
}
fn validate_flags(&mut self) {
println!("Validating flags");
let flag_vals = self.parsed_flags();
let mut i = 0;
println!("Flag count: {}", flag_vals.len());
while i < flag_vals.len() {
let flag = &flag_vals[i];
println!("Index: {i} | Value: {flag}");
let mut flg = models::flags::Flags::default();
// TODO: Refactor this
if self.is_valid_flag(flag) && self.does_flag_have_value(flag) {
println!("Flag has value");
flg.flag = String::from(flag);
flg.value = String::from(&flag_vals[i + 1]);
i += 1;
} else if self.is_valid_flag(flag) {
println!("Flag does not have a value");
flg.flag = String::from(flag);
} else {
println!("Flag {flag} is not valid");
utilities::checks::exit_program(-1);
}
@@ -155,10 +149,17 @@ impl ActionManager {
fn parsed_flags(&self) -> Vec<String> {
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() {
let flag = String::from(&self.params[i]);
parsed.push(flag);
}
}
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:?}");
}