summaryrefslogtreecommitdiff
path: root/src/flags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/flags.rs')
-rw-r--r--src/flags.rs88
1 files changed, 44 insertions, 44 deletions
diff --git a/src/flags.rs b/src/flags.rs
index c93f3ef..a945483 100644
--- a/src/flags.rs
+++ b/src/flags.rs
@@ -5,10 +5,10 @@ const DONT_PERSIST: &str = "d";
pub struct Flags {
- pub help: bool,
- pub version: bool,
- pub dont_persist: bool,
- pub arg_count: usize
+ pub help: bool,
+ pub version: bool,
+ pub dont_persist: bool,
+ pub arg_count: usize
}
@@ -19,32 +19,32 @@ pub struct Flags {
/// * `None` - If there is an invalid argument in the list
/// * `Some(Flags)` - If the arguments were secussfully parsed, returning the flags
pub fn parse(args: &[String]) -> Option<Flags> {
- let mut flags = Flags {
- help: false,
- version: false,
- dont_persist: false,
- arg_count: 0
- };
- for arg in args {
- if !is_arg(&arg) { break; }
- flags.arg_count += 1;
- if arg.starts_with("--") {
- let flag = &arg[2..];
- if !set_flag(&flag, &mut flags) {
- eprintln!("Invalid argument: {}", arg);
- return None
- }
- } else {
- let flag = &arg[1..];
- for char in flag.chars() {
- if !set_flag(&char.to_string(), &mut flags) {
- eprintln!("Invalid argument: {}", arg);
- return None
+ let mut flags = Flags {
+ help: false,
+ version: false,
+ dont_persist: false,
+ arg_count: 0
+ };
+ for arg in args {
+ if !is_arg(&arg) { break; }
+ flags.arg_count += 1;
+ if arg.starts_with("--") {
+ let flag = &arg[2..];
+ if !set_flag(&flag, &mut flags) {
+ eprintln!("Invalid argument: {}", arg);
+ return None
+ }
+ } else {
+ let flag = &arg[1..];
+ for char in flag.chars() {
+ if !set_flag(&char.to_string(), &mut flags) {
+ eprintln!("Invalid argument: {}", arg);
+ return None
+ }
+ }
}
- }
}
- }
- Some(flags)
+ Some(flags)
}
@@ -62,17 +62,17 @@ fn is_arg(arg: &str) -> bool {
/// * `true` - If the argument passed is a valid flag
/// * `false` - If the argument passed is not a valid flag
fn set_flag(arg: &str, flags: &mut Flags) -> bool {
- if has_flag_set(&arg, HELP_FLAG) {
- flags.help = true;
- return true
- } else if has_flag_set(&arg, VERSION_FLAG) {
- flags.version = true;
- return true
- } else if has_flag_set(&arg, DONT_PERSIST) {
- flags.dont_persist = true;
- return true
- }
- false
+ if has_flag_set(&arg, HELP_FLAG) {
+ flags.help = true;
+ return true
+ } else if has_flag_set(&arg, VERSION_FLAG) {
+ flags.version = true;
+ return true
+ } else if has_flag_set(&arg, DONT_PERSIST) {
+ flags.dont_persist = true;
+ return true
+ }
+ false
}
@@ -83,10 +83,10 @@ fn set_flag(arg: &str, flags: &mut Flags) -> bool {
/// * `true` - If the argument matches the flag
/// * `false` - If the argument doesn't match the flag
fn has_flag_set(arg: &str, check: &str) -> bool {
- for check_arg in check.split(" ") {
- if check_arg == arg {
- return true
+ for check_arg in check.split(" ") {
+ if check_arg == arg {
+ return true
+ }
}
- }
- return false
+ return false
}