mirror of
https://github.com/clap-rs/clap
synced 2025-03-05 07:47:40 +00:00
Fix incorrect error message.
This commit is contained in:
parent
041bfda7ca
commit
573dc245e6
1 changed files with 19 additions and 12 deletions
|
@ -214,7 +214,7 @@ impl<'help, 'app, 'parser> Usage<'help, 'app, 'parser> {
|
||||||
fn get_args_tag(&self, incl_reqs: bool) -> Option<String> {
|
fn get_args_tag(&self, incl_reqs: bool) -> Option<String> {
|
||||||
debug!("Usage::get_args_tag; incl_reqs = {:?}", incl_reqs);
|
debug!("Usage::get_args_tag; incl_reqs = {:?}", incl_reqs);
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
'outer: for pos in self
|
for pos in self
|
||||||
.p
|
.p
|
||||||
.app
|
.app
|
||||||
.get_positionals()
|
.get_positionals()
|
||||||
|
@ -223,24 +223,22 @@ impl<'help, 'app, 'parser> Usage<'help, 'app, 'parser> {
|
||||||
.filter(|pos| !pos.is_set(ArgSettings::Last))
|
.filter(|pos| !pos.is_set(ArgSettings::Last))
|
||||||
{
|
{
|
||||||
debug!("Usage::get_args_tag:iter:{}", pos.name);
|
debug!("Usage::get_args_tag:iter:{}", pos.name);
|
||||||
for grp_s in self.p.app.groups_for_arg(&pos.id) {
|
let in_required_group = self.p.app.groups_for_arg(&pos.id).any(|grp_s| {
|
||||||
debug!("Usage::get_args_tag:iter:{:?}:iter:{:?}", pos.name, grp_s);
|
debug!("Usage::get_args_tag:iter:{:?}:iter:{:?}", pos.name, grp_s);
|
||||||
// if it's part of a required group we don't want to count it
|
// if it's part of a required group we don't want to count it
|
||||||
if self
|
self.p
|
||||||
.p
|
|
||||||
.app
|
.app
|
||||||
.groups
|
.groups
|
||||||
.iter()
|
.iter()
|
||||||
.any(|g| g.required && (g.id == grp_s))
|
.any(|g| g.required && (g.id == grp_s))
|
||||||
{
|
});
|
||||||
continue 'outer;
|
if !in_required_group {
|
||||||
}
|
count += 1;
|
||||||
|
debug!(
|
||||||
|
"Usage::get_args_tag:iter: {} Args not required or hidden",
|
||||||
|
count
|
||||||
|
);
|
||||||
}
|
}
|
||||||
count += 1;
|
|
||||||
debug!(
|
|
||||||
"Usage::get_args_tag:iter: {} Args not required or hidden",
|
|
||||||
count
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if !self.p.is_set(AS::DontCollapseArgsInUsage) && count > 1 {
|
if !self.p.is_set(AS::DontCollapseArgsInUsage) && count > 1 {
|
||||||
|
@ -257,6 +255,15 @@ impl<'help, 'app, 'parser> Usage<'help, 'app, 'parser> {
|
||||||
!pos.is_set(ArgSettings::Required)
|
!pos.is_set(ArgSettings::Required)
|
||||||
&& !pos.is_set(ArgSettings::Hidden)
|
&& !pos.is_set(ArgSettings::Hidden)
|
||||||
&& !pos.is_set(ArgSettings::Last)
|
&& !pos.is_set(ArgSettings::Last)
|
||||||
|
&& !self.p.app.groups_for_arg(&pos.id).any(|grp_s| {
|
||||||
|
debug!("Usage::get_args_tag:iter:{:?}:iter:{:?}", pos.name, grp_s);
|
||||||
|
// if it's part of a required group we don't want to count it
|
||||||
|
self.p
|
||||||
|
.app
|
||||||
|
.groups
|
||||||
|
.iter()
|
||||||
|
.any(|g| g.required && (g.id == grp_s))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.expect(INTERNAL_ERROR_MSG);
|
.expect(INTERNAL_ERROR_MSG);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue