mirror of
https://github.com/clap-rs/clap
synced 2024-12-14 23:02:31 +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> {
|
||||
debug!("Usage::get_args_tag; incl_reqs = {:?}", incl_reqs);
|
||||
let mut count = 0;
|
||||
'outer: for pos in self
|
||||
for pos in self
|
||||
.p
|
||||
.app
|
||||
.get_positionals()
|
||||
|
@ -223,25 +223,23 @@ impl<'help, 'app, 'parser> Usage<'help, 'app, 'parser> {
|
|||
.filter(|pos| !pos.is_set(ArgSettings::Last))
|
||||
{
|
||||
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);
|
||||
// if it's part of a required group we don't want to count it
|
||||
if self
|
||||
.p
|
||||
self.p
|
||||
.app
|
||||
.groups
|
||||
.iter()
|
||||
.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
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if !self.p.is_set(AS::DontCollapseArgsInUsage) && count > 1 {
|
||||
debug!("Usage::get_args_tag:iter: More than one, returning [ARGS]");
|
||||
|
@ -257,6 +255,15 @@ impl<'help, 'app, 'parser> Usage<'help, 'app, 'parser> {
|
|||
!pos.is_set(ArgSettings::Required)
|
||||
&& !pos.is_set(ArgSettings::Hidden)
|
||||
&& !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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue