|
@@ -76,7 +76,7 @@ fn map_matches<T: Cli + 'static>(config: &T, matches: &ArgMatches, cli_matches:
|
|
|
for arg in args {
|
|
|
let occurrences = matches.occurrences_of(arg.name.clone());
|
|
|
let value = if occurrences == 0 || !arg.takes_value.unwrap_or(false) {
|
|
|
- Value::Null
|
|
|
+ Value::Bool(occurrences > 0)
|
|
|
} else if arg.multiple.unwrap_or(false) {
|
|
|
matches
|
|
|
.values_of(arg.name.clone())
|
|
@@ -142,6 +142,7 @@ fn get_app<'a, T: Cli + 'static>(name: &str, about: Option<&'a String>, config:
|
|
|
clap_arg = bind_if_arg!(arg, clap_arg, requires_if);
|
|
|
clap_arg = bind_if_arg!(arg, clap_arg, required_if);
|
|
|
clap_arg = bind_value_arg!(arg, clap_arg, require_equals);
|
|
|
+ clap_arg = bind_value_arg!(arg, clap_arg, index);
|
|
|
|
|
|
app = app.arg(clap_arg);
|
|
|
}
|