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 * ## Defining options ## | 9 * ## Defining options ## |
10 * | 10 * |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 options[name] = new Option(name, abbr, help, allowed, allowedHelp, | 300 options[name] = new Option(name, abbr, help, allowed, allowedHelp, |
301 defaultsTo, callback, isFlag: isFlag, negatable: negatable, | 301 defaultsTo, callback, isFlag: isFlag, negatable: negatable, |
302 allowMultiple: allowMultiple); | 302 allowMultiple: allowMultiple); |
303 } | 303 } |
304 | 304 |
305 /** | 305 /** |
306 * Parses [args], a list of command-line arguments, matches them against the | 306 * Parses [args], a list of command-line arguments, matches them against the |
307 * flags and options defined by this parser, and returns the result. | 307 * flags and options defined by this parser, and returns the result. |
308 */ | 308 */ |
309 ArgResults parse(List<String> args) => | 309 ArgResults parse(List<String> args) => |
310 new Parser(null, this, args.toList(growable: true)).parse(); | 310 new Parser(null, this, args.toList()).parse(); |
311 | 311 |
312 /** | 312 /** |
313 * Generates a string displaying usage information for the defined options. | 313 * Generates a string displaying usage information for the defined options. |
314 * This is basically the help text shown on the command line. | 314 * This is basically the help text shown on the command line. |
315 */ | 315 */ |
316 String getUsage() => new Usage(this).generate(); | 316 String getUsage() => new Usage(this).generate(); |
317 | 317 |
318 /** | 318 /** |
319 * Get the default value for an option. Useful after parsing to test | 319 * Get the default value for an option. Useful after parsing to test |
320 * if the user specified something other than the default. | 320 * if the user specified something other than the default. |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 operator [](String name) { | 390 operator [](String name) { |
391 if (!_options.containsKey(name)) { | 391 if (!_options.containsKey(name)) { |
392 throw new ArgumentError( | 392 throw new ArgumentError( |
393 'Could not find an option named "$name".'); | 393 'Could not find an option named "$name".'); |
394 } | 394 } |
395 | 395 |
396 return _options[name]; | 396 return _options[name]; |
397 } | 397 } |
398 | 398 |
399 /** Get the names of the options as a [Collection]. */ | 399 /** Get the names of the options as a [Collection]. */ |
400 Collection<String> get options => _options.keys.toList(); | 400 Collection<String> get options => _options.keys.toList(growable: false); |
401 } | 401 } |
402 | 402 |
OLD | NEW |