 Chromium Code Reviews
 Chromium Code Reviews Issue 12545013:
  Added the continueParsing option to ArgParser.  (Closed) 
  Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
    
  
    Issue 12545013:
  Added the continueParsing option to ArgParser.  (Closed) 
  Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart| OLD | NEW | 
|---|---|
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 /** | 5 /** | 
| 6 * This library lets you define parsers for parsing raw command-line arguments | 6 * This library lets you define parsers for parsing raw command-line arguments | 
| 7 * into a set of options and values using [GNU][] and [POSIX][] style options. | 7 * into a set of options and values using [GNU][] and [POSIX][] style options. | 
| 8 * | 8 * | 
| 9 * ## Installing ## | 9 * ## Installing ## | 
| 10 * | 10 * | 
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 340 } | 340 } | 
| 341 | 341 | 
| 342 options[name] = new Option(name, abbr, help, allowed, allowedHelp, | 342 options[name] = new Option(name, abbr, help, allowed, allowedHelp, | 
| 343 defaultsTo, callback, isFlag: isFlag, negatable: negatable, | 343 defaultsTo, callback, isFlag: isFlag, negatable: negatable, | 
| 344 allowMultiple: allowMultiple); | 344 allowMultiple: allowMultiple); | 
| 345 } | 345 } | 
| 346 | 346 | 
| 347 /** | 347 /** | 
| 348 * Parses [args], a list of command-line arguments, matches them against the | 348 * Parses [args], a list of command-line arguments, matches them against the | 
| 349 * flags and options defined by this parser, and returns the result. | 349 * flags and options defined by this parser, and returns the result. | 
| 350 * | |
| 351 * If [parseAllOptions] is set, the parser will continue parsing even after it | |
| 
Bob Nystrom
2013/06/20 00:33:36
How about "allowTrailingOptions"?
 
Andrei Mouravski
2013/06/22 00:54:02
Done.
 | |
| 352 * finds an argument that is neither an option nor a command. This allows | |
| 353 * options to be specified after command parameters. | |
| 354 * | |
| 355 * [parseAllOptions] is false by default, so when a non-option, non-command | |
| 356 * argument is encountered, it and any remaining arguments are passed to the | |
| 357 * leafmost command. | |
| 
Bob Nystrom
2013/06/20 00:33:36
"any remaining arguments are passed to the leafmos
 
Andrei Mouravski
2013/06/22 00:54:02
Done.
 | |
| 358 * | |
| 359 * An argument that looks like an option, but does not match any option will | |
| 360 * throw a [FormatException], regardless of the value of [parseAllOptions]. | |
| 350 */ | 361 */ | 
| 351 ArgResults parse(List<String> args) => | 362 ArgResults parse(List<String> args, {bool parseAllOptions: false}) => | 
| 
Bob Nystrom
2013/06/20 00:33:36
Instead of using a default here, initialize the de
 
Andrei Mouravski
2013/06/22 00:54:02
Done.
 | |
| 352 new Parser(null, this, args.toList()).parse(); | 363 new Parser(null, this, args.toList(), parseAllOptions).parse(); | 
| 353 | 364 | 
| 354 /** | 365 /** | 
| 355 * Generates a string displaying usage information for the defined options. | 366 * Generates a string displaying usage information for the defined options. | 
| 356 * This is basically the help text shown on the command line. | 367 * This is basically the help text shown on the command line. | 
| 357 */ | 368 */ | 
| 358 String getUsage() => new Usage(this).generate(); | 369 String getUsage() => new Usage(this).generate(); | 
| 359 | 370 | 
| 360 /** | 371 /** | 
| 361 * Get the default value for an option. Useful after parsing to test | 372 * Get the default value for an option. Useful after parsing to test | 
| 362 * if the user specified something other than the default. | 373 * if the user specified something other than the default. | 
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 415 'Could not find an option named "$name".'); | 426 'Could not find an option named "$name".'); | 
| 416 } | 427 } | 
| 417 | 428 | 
| 418 return _options[name]; | 429 return _options[name]; | 
| 419 } | 430 } | 
| 420 | 431 | 
| 421 /** Get the names of the options as an [Iterable]. */ | 432 /** Get the names of the options as an [Iterable]. */ | 
| 422 Iterable<String> get options => _options.keys; | 433 Iterable<String> get options => _options.keys; | 
| 423 } | 434 } | 
| 424 | 435 | 
| OLD | NEW |