@@ -1325,7 +1325,6 @@ impl<'a, 'v, 'ab, 'u, 'h, 'ar> App<'a, 'v, 'ab, 'u, 'h, 'ar>{
1325
1325
acc + & format ! ( " {}" , s) [ ..]
1326
1326
} ) ;
1327
1327
1328
-
1329
1328
if !self . flags . is_empty ( ) && !self . settings . is_set ( & AppSettings :: UnifiedHelpMessage ) {
1330
1329
usage. push_str ( " [FLAGS]" ) ;
1331
1330
} else {
@@ -1335,11 +1334,16 @@ impl<'a, 'v, 'ab, 'u, 'h, 'ar> App<'a, 'v, 'ab, 'u, 'h, 'ar>{
1335
1334
self . opts . values ( ) . any ( |a| !a. settings . is_set ( & ArgSettings :: Required ) ) {
1336
1335
usage. push_str ( " [OPTIONS]" ) ;
1337
1336
}
1337
+
1338
+ usage. push_str ( & req_string[ ..] ) ;
1339
+
1338
1340
// places a '--' in the usage string if there are args and options
1339
1341
// supporting multiple values
1340
- if !self . positionals_idx . is_empty ( ) && self . opts . values ( ) . any ( |a| a. settings . is_set ( & ArgSettings :: Multiple ) ) &&
1341
- !self . opts . values ( ) . any ( |a| a. settings . is_set ( & ArgSettings :: Required ) ) &&
1342
- self . subcommands . is_empty ( ) {
1342
+ if !self . positionals_idx . is_empty ( ) &&
1343
+ ( self . opts . values ( ) . any ( |a| a. settings . is_set ( & ArgSettings :: Multiple ) ) ||
1344
+ self . positionals_idx . values ( ) . any ( |a| a. settings . is_set ( & ArgSettings :: Multiple ) ) ) &&
1345
+ !self . opts . values ( ) . any ( |a| a. settings . is_set ( & ArgSettings :: Required ) ) &&
1346
+ self . subcommands . is_empty ( ) {
1343
1347
usage. push_str ( " [--]" )
1344
1348
}
1345
1349
if !self . positionals_idx . is_empty ( ) &&
@@ -1348,7 +1352,6 @@ impl<'a, 'v, 'ab, 'u, 'h, 'ar> App<'a, 'v, 'ab, 'u, 'h, 'ar>{
1348
1352
usage. push_str ( " [ARGS]" ) ;
1349
1353
}
1350
1354
1351
- usage. push_str ( & req_string[ ..] ) ;
1352
1355
1353
1356
if !self . subcommands . is_empty ( ) && !self . settings . is_set ( & AppSettings :: SubcommandRequired ) {
1354
1357
usage. push_str ( " [SUBCOMMAND]" ) ;
0 commit comments