| Index: sdk/lib/_internal/pub/lib/src/command.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/command.dart b/sdk/lib/_internal/pub/lib/src/command.dart
|
| index 760d5fc659244d60cf79a2c5d9af47c36ed85772..3cfb07ac78e385091cb1ee735d050d2c18dfaffc 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/command.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/command.dart
|
| @@ -129,12 +129,17 @@ abstract class PubCommand {
|
| /// only needs to be set in leaf commands.
|
| bool get takesArguments => false;
|
|
|
| + /// Override this and return `false` to disallow trailing options from being
|
| + /// parsed after a non-option argument is parsed.
|
| + bool get allowTrailingOptions => true;
|
| +
|
| /// Alternate names for this command. These names won't be used in the
|
| /// documentation, but they will work when invoked on the command line.
|
| final aliases = const <String>[];
|
|
|
| /// The [ArgParser] for this command.
|
| - final commandParser = new ArgParser();
|
| + ArgParser get commandParser => _commandParser;
|
| + ArgParser _commandParser;
|
|
|
| /// Subcommands exposed by this command.
|
| ///
|
| @@ -150,6 +155,8 @@ abstract class PubCommand {
|
| bool get isOffline => false;
|
|
|
| PubCommand() {
|
| + _commandParser = new ArgParser(allowTrailingOptions: allowTrailingOptions);
|
| +
|
| // Allow "--help" after a command to get command help.
|
| commandParser.addFlag('help', abbr: 'h', negatable: false,
|
| help: 'Print usage information for this command.');
|
| @@ -263,7 +270,7 @@ _initCommands() {
|
|
|
| /// Creates the top-level [ArgParser] used to parse the pub command line.
|
| ArgParser _initArgParser() {
|
| - var argParser = new ArgParser();
|
| + var argParser = new ArgParser(allowTrailingOptions: true);
|
|
|
| // Add the global options.
|
| argParser.addFlag('help', abbr: 'h', negatable: false,
|
|
|