Merge pull request #3138 from epage/disp

refactor: Clarify explicit display order wins
This commit is contained in:
Ed Page 2021-12-09 18:30:31 -06:00 committed by GitHub
commit 313b5e3c80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2879,19 +2879,13 @@ impl<'help> App<'help> {
.args .args
.args_mut() .args_mut()
.filter(|a| !a.is_positional()) .filter(|a| !a.is_positional())
.filter(|a| a.get_display_order() == 999)
.filter(|a| a.provider != ArgProvider::Generated) .filter(|a| a.provider != ArgProvider::Generated)
.enumerate() .enumerate()
{ {
a.disp_ord = Some(i); a.disp_ord.get_or_insert(i);
} }
for (i, mut sc) in &mut self for (i, sc) in &mut self.subcommands.iter_mut().enumerate() {
.subcommands sc.disp_ord.get_or_insert(i);
.iter_mut()
.enumerate()
.filter(|&(_, ref sc)| sc.get_display_order() == 999)
{
sc.disp_ord = Some(i);
} }
} }
for sc in &mut self.subcommands { for sc in &mut self.subcommands {