getopt: indentation reduction
See the `git diff -w` output:
|diff --git a/src/getopts.rs b/src/getopts.rs
|index 6548a01..517cc37 100644
|--- a/src/getopts.rs
|+++ b/src/getopts.rs
|@@ -72,7 +72,10 @@ pub fn parse_arguments(
|     while pos < args.len() {
|         if skip {
|             rest.push(args[pos].clone());
|-        } else {
|+            pos += 1;
|+            continue;
|+        }
|+
|         match parse_argument(&args[pos]) {
|             RawArgument::Separator => {
|                 skip = true;
|@@ -135,7 +138,6 @@ pub fn parse_arguments(
|                 rest.push(value);
|             }
|         }
|-        }
|
|         pos += 1;
|     }
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
			
			
This commit is contained in:
		
							
								
								
									
										110
									
								
								src/getopts.rs
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								src/getopts.rs
									
									
									
									
									
								
							| @ -72,68 +72,70 @@ pub fn parse_arguments( | ||||
|     while pos < args.len() { | ||||
|         if skip { | ||||
|             rest.push(args[pos].clone()); | ||||
|         } else { | ||||
|             match parse_argument(&args[pos]) { | ||||
|                 RawArgument::Separator => { | ||||
|                     skip = true; | ||||
|                 } | ||||
|                 RawArgument::Option { name, value } => { | ||||
|                     match value { | ||||
|                         None => { | ||||
|                             let mut want_bool = false; | ||||
|                             let mut can_default = false; | ||||
|                             if let Some((_optional, param_schema)) = properties.get::<str>(&name) { | ||||
|                                 if let Schema::Boolean(boolean_schema) = param_schema.as_ref() { | ||||
|                                     want_bool = true; | ||||
|                                     if let Some(default) = boolean_schema.default { | ||||
|                                         if default == false { can_default = true; } | ||||
|                                     } else { | ||||
|                                         can_default = true; | ||||
|                                     } | ||||
|                                 } | ||||
|                             } | ||||
|             pos += 1; | ||||
|             continue; | ||||
|         } | ||||
|  | ||||
|                             let mut next_is_argument = false; | ||||
|                             let mut next_is_bool = false; | ||||
|  | ||||
|                             if (pos + 1) < args.len() { | ||||
|                                 let next = &args[pos+1]; | ||||
|                                  if let RawArgument::Argument { value: _} = parse_argument(next) { | ||||
|                                     next_is_argument = true; | ||||
|                                     if let Ok(_) = parse_boolean(next) { next_is_bool = true; } | ||||
|                                 } | ||||
|                             } | ||||
|  | ||||
|                             if want_bool { | ||||
|                                 if next_is_bool { | ||||
|                                     pos += 1; | ||||
|                                     data.push((name, args[pos].clone())); | ||||
|                                 } else if can_default { | ||||
|                                    data.push((name, "true".to_string())); | ||||
|         match parse_argument(&args[pos]) { | ||||
|             RawArgument::Separator => { | ||||
|                 skip = true; | ||||
|             } | ||||
|             RawArgument::Option { name, value } => { | ||||
|                 match value { | ||||
|                     None => { | ||||
|                         let mut want_bool = false; | ||||
|                         let mut can_default = false; | ||||
|                         if let Some((_optional, param_schema)) = properties.get::<str>(&name) { | ||||
|                             if let Schema::Boolean(boolean_schema) = param_schema.as_ref() { | ||||
|                                 want_bool = true; | ||||
|                                 if let Some(default) = boolean_schema.default { | ||||
|                                     if default == false { can_default = true; } | ||||
|                                 } else { | ||||
|                                     errors.push(format_err!("parameter '{}': {}", name, | ||||
|                                                             "missing boolean value.")); | ||||
|                                 } | ||||
|  | ||||
|                             } else { | ||||
|  | ||||
|                                 if next_is_argument { | ||||
|                                     pos += 1; | ||||
|                                     data.push((name, args[pos].clone())); | ||||
|                                 } else { | ||||
|                                     errors.push(format_err!("parameter '{}': {}", name, | ||||
|                                                             "missing parameter value.")); | ||||
|                                     can_default = true; | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|                         Some(v) => { | ||||
|                             data.push((name, v)); | ||||
|  | ||||
|                         let mut next_is_argument = false; | ||||
|                         let mut next_is_bool = false; | ||||
|  | ||||
|                         if (pos + 1) < args.len() { | ||||
|                             let next = &args[pos+1]; | ||||
|                              if let RawArgument::Argument { value: _} = parse_argument(next) { | ||||
|                                 next_is_argument = true; | ||||
|                                 if let Ok(_) = parse_boolean(next) { next_is_bool = true; } | ||||
|                             } | ||||
|                         } | ||||
|  | ||||
|                         if want_bool { | ||||
|                             if next_is_bool { | ||||
|                                 pos += 1; | ||||
|                                 data.push((name, args[pos].clone())); | ||||
|                             } else if can_default { | ||||
|                                data.push((name, "true".to_string())); | ||||
|                             } else { | ||||
|                                 errors.push(format_err!("parameter '{}': {}", name, | ||||
|                                                         "missing boolean value.")); | ||||
|                             } | ||||
|  | ||||
|                         } else { | ||||
|  | ||||
|                             if next_is_argument { | ||||
|                                 pos += 1; | ||||
|                                 data.push((name, args[pos].clone())); | ||||
|                             } else { | ||||
|                                 errors.push(format_err!("parameter '{}': {}", name, | ||||
|                                                         "missing parameter value.")); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     Some(v) => { | ||||
|                         data.push((name, v)); | ||||
|                     } | ||||
|                 } | ||||
|                 RawArgument::Argument { value } => { | ||||
|                     rest.push(value); | ||||
|                 } | ||||
|             } | ||||
|             RawArgument::Argument { value } => { | ||||
|                 rest.push(value); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user