fix(from_usage): fix bug causing args to not be required

This commit is contained in:
Kevin K 2015-04-22 16:08:34 -04:00
parent d7c724dc65
commit b76129e9b7
2 changed files with 22 additions and 12 deletions

2
.gitignore vendored
View file

@ -14,4 +14,4 @@
Cargo.lock
# Temp files
*~
.*~

View file

@ -211,21 +211,31 @@ impl<'n, 'l, 'h, 'b, 'p, 'r> Arg<'n, 'l, 'h, 'b, 'p, 'r> {
UsageToken::Name(n, req) => {
if name.is_none() {
name = Some(n);
if let Some(m) = req {
required = m;
if let Some(r) = req {
required = r;
}
}
} else if let Some(l) = long {
if l == name.unwrap() {
if let Some(r) = req {
required = r;
}
name = Some(n);
} else if n != l {
name = Some(n);
}
}
if short.is_some() || long.is_some() {
takes_value = true;
}
if let Some(l) = long {
if n != name.unwrap() && name.unwrap() == l {
name = Some(n);
if let Some(m) = req {
required = m;
}
}
}
// if let Some(l) = long {
// if n != name.unwrap() && name.unwrap() == l {
// name = Some(n);
// if let Some(r) = req {
// required = r;
// }
// }
// }
},
UsageToken::Short(s) => {
short = Some(s);