format code, removed unused variables and deprecated usage

R=sigmund@google.com

Review URL: https://codereview.chromium.org//849023002
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 916bca9..771bcd0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,11 @@
-## 0.12.3-dev
+## 0.12.2+2
 
 * Updated dependency constraint on `unittest`.
 
+* Formatted source code.
+
+* Fixed use of deprecated API in example.
+
 ## 0.12.2+1
 
 * Fix the built-in `help` command for `CommandRunner`.
diff --git a/example/test_runner.dart b/example/test_runner.dart
index fac1690..9480f41 100644
--- a/example/test_runner.dart
+++ b/example/test_runner.dart
@@ -14,92 +14,125 @@
 main() {
   var parser = new ArgParser();
 
-  parser.addOption('mode', abbr: 'm', defaultsTo: 'debug',
+  parser.addOption('mode',
+      abbr: 'm',
+      defaultsTo: 'debug',
       help: 'Mode in which to run the tests',
       allowed: ['all', 'debug', 'release']);
 
-  parser.addOption('compiler', abbr: 'c', defaultsTo: 'none',
+  parser.addOption('compiler',
+      abbr: 'c',
+      defaultsTo: 'none',
       help: 'Specify any compilation step (if needed).',
       allowed: ['none', 'dart2js', 'dartc'],
       allowedHelp: {
-        'none': 'Do not compile the Dart code (run native Dart code on the'
-          ' VM).\n(only valid with the following runtimes: vm, drt)',
-        'dart2js': 'Compile dart code to JavaScript by running dart2js.\n'
-          '(only valid with the following runtimes: d8, drt, chrome\n'
-          'safari, ie, firefox, opera, none (compile only))',
-        'dartc': 'Perform static analysis on Dart code by running dartc.\n'
-          '(only valid with the following runtimes: none)',
-      });
+    'none': 'Do not compile the Dart code (run native Dart code on the'
+        ' VM).\n(only valid with the following runtimes: vm, drt)',
+    'dart2js': 'Compile dart code to JavaScript by running dart2js.\n'
+        '(only valid with the following runtimes: d8, drt, chrome\n'
+        'safari, ie, firefox, opera, none (compile only))',
+    'dartc': 'Perform static analysis on Dart code by running dartc.\n'
+        '(only valid with the following runtimes: none)',
+  });
 
-  parser.addOption('runtime', abbr: 'r', defaultsTo: 'vm',
+  parser.addOption('runtime',
+      abbr: 'r',
+      defaultsTo: 'vm',
       help: 'Where the tests should be run.',
-      allowed: ['vm', 'd8', 'drt', 'dartium', 'ff', 'firefox', 'chrome',
-              'safari', 'ie', 'opera', 'none'],
+      allowed: [
+    'vm',
+    'd8',
+    'drt',
+    'dartium',
+    'ff',
+    'firefox',
+    'chrome',
+    'safari',
+    'ie',
+    'opera',
+    'none'
+  ],
       allowedHelp: {
-        'vm': 'Run Dart code on the standalone dart vm.',
-        'd8': 'Run JavaScript from the command line using v8.',
-        // TODO(antonm): rename flag.
-        'drt': 'Run Dart or JavaScript in the headless version of Chrome,\n'
-          'content shell.',
-        'dartium': 'Run Dart or JavaScript in Dartium.',
-        'ff': 'Run JavaScript in Firefox',
-        'chrome': 'Run JavaScript in Chrome',
-        'safari': 'Run JavaScript in Safari',
-        'ie': 'Run JavaScript in Internet Explorer',
-        'opera': 'Run JavaScript in Opera',
-        'none': 'No runtime, compile only (for example, used for dartc static\n'
-          'analysis tests).',
-      });
+    'vm': 'Run Dart code on the standalone dart vm.',
+    'd8': 'Run JavaScript from the command line using v8.',
+    // TODO(antonm): rename flag.
+    'drt': 'Run Dart or JavaScript in the headless version of Chrome,\n'
+        'content shell.',
+    'dartium': 'Run Dart or JavaScript in Dartium.',
+    'ff': 'Run JavaScript in Firefox',
+    'chrome': 'Run JavaScript in Chrome',
+    'safari': 'Run JavaScript in Safari',
+    'ie': 'Run JavaScript in Internet Explorer',
+    'opera': 'Run JavaScript in Opera',
+    'none': 'No runtime, compile only (for example, used for dartc static\n'
+        'analysis tests).',
+  });
 
-  parser.addOption('arch', abbr: 'a', defaultsTo: 'ia32',
+  parser.addOption('arch',
+      abbr: 'a',
+      defaultsTo: 'ia32',
       help: 'The architecture to run tests for',
       allowed: ['all', 'ia32', 'x64', 'simarm']);
 
-  parser.addOption('system', abbr: 's', defaultsTo: Platform.operatingSystem,
+  parser.addOption('system',
+      abbr: 's',
+      defaultsTo: Platform.operatingSystem,
       help: 'The operating system to run tests on',
       allowed: ['linux', 'macos', 'windows']);
 
-  parser.addFlag('checked', defaultsTo: false,
-      help: 'Run tests in checked mode');
+  parser.addFlag('checked',
+      defaultsTo: false, help: 'Run tests in checked mode');
 
-  parser.addFlag('host-checked', defaultsTo: false,
-      help: 'Run compiler in checked mode');
+  parser.addFlag('host-checked',
+      defaultsTo: false, help: 'Run compiler in checked mode');
 
-  parser.addOption('timeout', abbr: 't',
-      help: 'Timeout in seconds');
+  parser.addOption('timeout', abbr: 't', help: 'Timeout in seconds');
 
-  parser.addOption('progress', abbr: 'p', defaultsTo: 'compact',
+  parser.addOption('progress',
+      abbr: 'p',
+      defaultsTo: 'compact',
       help: 'Progress indication mode',
-      allowed: ['compact', 'color', 'line', 'verbose', 'silent', 'status',
-                'buildbot']);
+      allowed: [
+    'compact',
+    'color',
+    'line',
+    'verbose',
+    'silent',
+    'status',
+    'buildbot'
+  ]);
 
-  parser.addFlag('report', defaultsTo: false,
+  parser.addFlag('report',
+      defaultsTo: false,
       help: 'Print a summary report of the number of tests, by expectation');
 
-  parser.addOption('tasks', abbr: 'j',
+  parser.addOption('tasks',
+      abbr: 'j',
       defaultsTo: Platform.numberOfProcessors.toString(),
       help: 'The number of parallel tasks to run');
 
-  parser.addOption('shards', defaultsTo: '1',
+  parser.addOption('shards',
+      defaultsTo: '1',
       help: 'The number of instances that the tests will be sharded over');
 
-  parser.addOption('shard', defaultsTo: '1',
+  parser.addOption('shard',
+      defaultsTo: '1',
       help: 'The index of this instance when running in sharded mode');
 
-  parser.addFlag('verbose', abbr: 'v', defaultsTo: false,
-      help: 'Verbose output');
+  parser.addFlag('verbose',
+      abbr: 'v', defaultsTo: false, help: 'Verbose output');
 
-  parser.addFlag('list', defaultsTo: false,
-      help: 'List tests only, do not run them');
+  parser.addFlag('list',
+      defaultsTo: false, help: 'List tests only, do not run them');
 
-  parser.addFlag('keep-generated-tests', defaultsTo: false,
+  parser.addFlag('keep-generated-tests',
+      defaultsTo: false,
       help: 'Keep the generated files in the temporary directory');
 
-  parser.addFlag('valgrind', defaultsTo: false,
-      help: 'Run tests through valgrind');
+  parser.addFlag('valgrind',
+      defaultsTo: false, help: 'Run tests through valgrind');
 
-  parser.addOption('special-command',
-      help: """
+  parser.addOption('special-command', help: """
 Special command support. Wraps the command line in
 a special command. The special command should contain
 an '@' character which will be replaced by the normal
@@ -111,16 +144,14 @@
 'python -u valgrind.py dart file.dart suffix'""");
 
   parser.addFlag('time',
-      help: 'Print timing information after running tests',
-      defaultsTo: false);
+      help: 'Print timing information after running tests', defaultsTo: false);
 
-  parser.addOption('dart',    help: 'Path to dart executable');
-  parser.addOption('drt',     help: 'Path to content shell executable');
+  parser.addOption('dart', help: 'Path to dart executable');
+  parser.addOption('drt', help: 'Path to content shell executable');
   parser.addOption('dartium', help: 'Path to Dartium Chrome executable');
 
-  parser.addFlag('batch', abbr: 'b',
-      help: 'Run browser tests in batch mode',
-      defaultsTo: true);
+  parser.addFlag('batch',
+      abbr: 'b', help: 'Run browser tests in batch mode', defaultsTo: true);
 
-  print(parser.getUsage());
+  print(parser.usage);
 }
diff --git a/lib/command_runner.dart b/lib/command_runner.dart
index bbc19b2..d728cb0 100644
--- a/lib/command_runner.dart
+++ b/lib/command_runner.dart
@@ -61,8 +61,7 @@
   }
 
   /// An unmodifiable view of all top-level commands defined for this runner.
-  Map<String, Command> get commands =>
-      new UnmodifiableMapView(_commands);
+  Map<String, Command> get commands => new UnmodifiableMapView(_commands);
   final _commands = new Map<String, Command>();
 
   /// The top-level argument parser.
@@ -73,8 +72,8 @@
   final argParser = new ArgParser();
 
   CommandRunner(this.executableName, this.description) {
-    argParser.addFlag('help', abbr: 'h', negatable: false,
-        help: 'Print this usage information.');
+    argParser.addFlag('help',
+        abbr: 'h', negatable: false, help: 'Print this usage information.');
     addCommand(new HelpCommand());
   }
 
@@ -206,9 +205,9 @@
     parents.add(runner.executableName);
 
     var invocation = parents.reversed.join(" ");
-    return _subcommands.isNotEmpty ?
-        "$invocation <subcommand> [arguments]" :
-        "$invocation [arguments]";
+    return _subcommands.isNotEmpty
+        ? "$invocation <subcommand> [arguments]"
+        : "$invocation [arguments]";
   }
 
   /// The command's parent command, if this is a subcommand.
@@ -263,8 +262,8 @@
   /// Returns [usage] with [description] removed from the beginning.
   String get _usageWithoutDescription {
     var buffer = new StringBuffer()
-        ..writeln('Usage: $invocation')
-        ..writeln(argParser.usage);
+      ..writeln('Usage: $invocation')
+      ..writeln(argParser.usage);
 
     if (_subcommands.isNotEmpty) {
       buffer.writeln();
@@ -283,8 +282,7 @@
   }
 
   /// An unmodifiable view of all sublevel commands of this command.
-  Map<String, Command> get subcommands =>
-      new UnmodifiableMapView(_subcommands);
+  Map<String, Command> get subcommands => new UnmodifiableMapView(_subcommands);
   final _subcommands = new Map<String, Command>();
 
   /// Whether or not this command should be hidden from help listings.
@@ -321,8 +319,8 @@
   final aliases = const <String>[];
 
   Command() {
-    argParser.addFlag('help', abbr: 'h', negatable: false,
-        help: 'Print this usage information.');
+    argParser.addFlag('help',
+        abbr: 'h', negatable: false, help: 'Print this usage information.');
   }
 
   /// Runs this command.
@@ -361,8 +359,8 @@
 String _getCommandUsage(Map<String, Command> commands,
     {bool isSubcommand: false}) {
   // Don't include aliases.
-  var names = commands.keys
-      .where((name) => !commands[name].aliases.contains(name));
+  var names =
+      commands.keys.where((name) => !commands[name].aliases.contains(name));
 
   // Filter out hidden ones, unless they are all hidden.
   var visible = names.where((name) => !commands[name].hidden);
@@ -372,8 +370,8 @@
   names = names.toList()..sort();
   var length = names.map((name) => name.length).reduce(math.max);
 
-  var buffer = new StringBuffer(
-      'Available ${isSubcommand ? "sub" : ""}commands:');
+  var buffer =
+      new StringBuffer('Available ${isSubcommand ? "sub" : ""}commands:');
   for (var name in names) {
     buffer.writeln();
     buffer.write('  ${padRight(name, length)}   '
diff --git a/lib/src/arg_parser.dart b/lib/src/arg_parser.dart
index 03d8d3f..8337c42 100644
--- a/lib/src/arg_parser.dart
+++ b/lib/src/arg_parser.dart
@@ -33,18 +33,19 @@
   /// after it finds an argument that is neither an option nor a command.
   /// This allows options to be specified after regular arguments. Defaults to
   /// `false`.
-  factory ArgParser({bool allowTrailingOptions}) =>
-      new ArgParser._(<String, Option>{}, <String, ArgParser>{},
-          allowTrailingOptions: allowTrailingOptions);
+  factory ArgParser({bool allowTrailingOptions}) => new ArgParser._(
+      <String, Option>{}, <String, ArgParser>{},
+      allowTrailingOptions: allowTrailingOptions);
 
   ArgParser._(Map<String, Option> options, Map<String, ArgParser> commands,
-      {bool allowTrailingOptions}) :
-    this._options = options,
-    this.options = new UnmodifiableMapView(options),
-    this._commands = commands,
-    this.commands = new UnmodifiableMapView(commands),
-    this.allowTrailingOptions = allowTrailingOptions != null ?
-        allowTrailingOptions : false;
+      {bool allowTrailingOptions})
+      : this._options = options,
+        this.options = new UnmodifiableMapView(options),
+        this._commands = commands,
+        this.commands = new UnmodifiableMapView(commands),
+        this.allowTrailingOptions = allowTrailingOptions != null
+            ? allowTrailingOptions
+            : false;
 
   /// Defines a command.
   ///
@@ -86,8 +87,8 @@
 
   void _addOption(String name, String abbr, String help, String valueHelp,
       List<String> allowed, Map<String, String> allowedHelp, defaultsTo,
-      void callback(value), OptionType type, {bool negatable: false,
-      bool hide: false}) {
+      void callback(value), OptionType type,
+      {bool negatable: false, bool hide: false}) {
     // Make sure the name isn't in use.
     if (_options.containsKey(name)) {
       throw new ArgumentError('Duplicate option "$name".');
@@ -103,8 +104,8 @@
     }
 
     _options[name] = newOption(name, abbr, help, valueHelp, allowed,
-        allowedHelp, defaultsTo, callback, type, negatable: negatable,
-        hide: hide);
+        allowedHelp, defaultsTo, callback, type,
+        negatable: negatable, hide: hide);
   }
 
   /// Parses [args], a list of command-line arguments, matches them against the
diff --git a/lib/src/arg_results.dart b/lib/src/arg_results.dart
index 815d8dd..de9cca7 100644
--- a/lib/src/arg_results.dart
+++ b/lib/src/arg_results.dart
@@ -13,8 +13,8 @@
 /// Since [ArgResults] doesn't have a public constructor, this lets [Parser]
 /// get to it. This function isn't exported to the public API of the package.
 ArgResults newArgResults(ArgParser parser, Map<String, dynamic> parsed,
-      String name, ArgResults command, List<String> rest,
-      List<String> arguments) {
+    String name, ArgResults command, List<String> rest,
+    List<String> arguments) {
   return new ArgResults._(parser, parsed, name, command, rest, arguments);
 }
 
diff --git a/lib/src/option.dart b/lib/src/option.dart
index 6edc8ab..b2292db 100644
--- a/lib/src/option.dart
+++ b/lib/src/option.dart
@@ -43,12 +43,13 @@
 
   Option._(this.name, this.abbreviation, this.help, this.valueHelp,
       List<String> allowed, Map<String, String> allowedHelp, this.defaultValue,
-      this.callback, this.type, {this.negatable, this.hide: false}) :
-        this.allowed = allowed == null ?
-            null : new UnmodifiableListView(allowed),
-        this.allowedHelp = allowedHelp == null ?
-            null : new UnmodifiableMapView(allowedHelp) {
-
+      this.callback, this.type, {this.negatable, this.hide: false})
+      : this.allowed = allowed == null
+          ? null
+          : new UnmodifiableListView(allowed),
+        this.allowedHelp = allowedHelp == null
+            ? null
+            : new UnmodifiableMapView(allowedHelp) {
     if (name.isEmpty) {
       throw new ArgumentError('Name cannot be empty.');
     } else if (name.startsWith('-')) {
@@ -63,7 +64,7 @@
     if (abbreviation != null) {
       if (abbreviation.length != 1) {
         throw new ArgumentError('Abbreviation must be null or have length 1.');
-      } else if(abbreviation == '-') {
+      } else if (abbreviation == '-') {
         throw new ArgumentError('Abbreviation cannot be "-".');
       }
 
@@ -121,4 +122,4 @@
   final String name;
 
   const OptionType._(this.name);
-}
\ No newline at end of file
+}
diff --git a/lib/src/parser.dart b/lib/src/parser.dart
index 9cd141c..1e297b0 100644
--- a/lib/src/parser.dart
+++ b/lib/src/parser.dart
@@ -92,8 +92,8 @@
     // Add in the leftover arguments we didn't parse to the innermost command.
     rest.addAll(args);
     args.clear();
-    return newArgResults(grammar, results, commandName, commandResults, rest,
-        arguments);
+    return newArgResults(
+        grammar, results, commandName, commandResults, rest, arguments);
   }
 
   /// Pulls the value for [option] from the second argument in [args].
@@ -101,8 +101,7 @@
   /// Validates that there is a valid value there.
   void readNextArgAsValue(Option option) {
     // Take the option argument from the next command line arg.
-    validate(args.length > 0,
-        'Missing argument for "${option.name}".');
+    validate(args.length > 0, 'Missing argument for "${option.name}".');
 
     // Make sure it isn't an option itself.
     validate(!_ABBR_OPT.hasMatch(current) && !_LONG_OPT.hasMatch(current),
@@ -124,8 +123,8 @@
     var option = grammar.findByAbbreviation(soloOpt[1]);
     if (option == null) {
       // Walk up to the parent command if possible.
-      validate(parent != null,
-          'Could not find an option or flag "-${soloOpt[1]}".');
+      validate(
+          parent != null, 'Could not find an option or flag "-${soloOpt[1]}".');
       return parent.parseSoloOption();
     }
 
@@ -153,8 +152,8 @@
     var first = grammar.findByAbbreviation(c);
     if (first == null) {
       // Walk up to the parent command if possible.
-      validate(parent != null,
-          'Could not find an option with short name "-$c".');
+      validate(
+          parent != null, 'Could not find an option with short name "-$c".');
       return parent.parseAbbreviation(innermostCommand);
     } else if (!first.isFlag) {
       // The first character is a non-flag option, so the rest must be the
@@ -165,8 +164,8 @@
       // If we got some non-flag characters, then it must be a value, but
       // if we got here, it's a flag, which is wrong.
       validate(abbrOpt[2] == '',
-        'Option "-$c" is a flag and cannot handle value '
-        '"${abbrOpt[1].substring(1)}${abbrOpt[2]}".');
+          'Option "-$c" is a flag and cannot handle value '
+          '"${abbrOpt[1].substring(1)}${abbrOpt[2]}".');
 
       // Not an option, so all characters should be flags.
       // We use "innermostCommand" here so that if a parent command parses the
@@ -186,16 +185,16 @@
     var option = grammar.findByAbbreviation(c);
     if (option == null) {
       // Walk up to the parent command if possible.
-      validate(parent != null,
-          'Could not find an option with short name "-$c".');
+      validate(
+          parent != null, 'Could not find an option with short name "-$c".');
       parent.parseShortFlag(c);
       return;
     }
 
     // In a list of short options, only the first can be a non-flag. If
     // we get here we've checked that already.
-    validate(option.isFlag,
-        'Option "-$c" must be a flag to be in a collapsed "-".');
+    validate(
+        option.isFlag, 'Option "-$c" must be a flag to be in a collapsed "-".');
 
     setOption(results, option, true);
   }
diff --git a/pubspec.yaml b/pubspec.yaml
index deb8c15..c625ad0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: args
-version: 0.12.3-dev
+version: 0.12.2+2
 author: "Dart Team <misc@dartlang.org>"
 homepage: https://github.com/dart-lang/args
 description: >
diff --git a/test/args_test.dart b/test/args_test.dart
index 77c23c3..dd1634d 100644
--- a/test/args_test.dart
+++ b/test/args_test.dart
@@ -29,7 +29,7 @@
     });
 
     test('throws ArgumentError if the abbreviation is longer '
-         'than one character', () {
+        'than one character', () {
       var parser = new ArgParser();
       throwsIllegalArg(() => parser.addFlag('flummox', abbr: 'flu'));
     });
@@ -37,7 +37,7 @@
     test('throws ArgumentError if a flag name is invalid', () {
       var parser = new ArgParser();
 
-      for(var name in _INVALID_OPTIONS) {
+      for (var name in _INVALID_OPTIONS) {
         var reason = '${Error.safeToString(name)} is not valid';
         throwsIllegalArg(() => parser.addFlag(name), reason: reason);
       }
@@ -46,7 +46,7 @@
     test('accepts valid flag names', () {
       var parser = new ArgParser();
 
-      for(var name in _VALID_OPTIONS) {
+      for (var name in _VALID_OPTIONS) {
         var reason = '${Error.safeToString(name)} is valid';
         expect(() => parser.addFlag(name), returnsNormally, reason: reason);
       }
@@ -73,7 +73,7 @@
     });
 
     test('throws ArgumentError if the abbreviation is longer '
-         'than one character', () {
+        'than one character', () {
       var parser = new ArgParser();
       throwsIllegalArg(() => parser.addOption('flummox', abbr: 'flu'));
     });
@@ -85,7 +85,7 @@
 
     test('throws ArgumentError if the abbreviation is an invalid value', () {
       var parser = new ArgParser();
-      for(var name in _INVALID_OPTIONS.where((v) => v != null)) {
+      for (var name in _INVALID_OPTIONS.where((v) => v != null)) {
         throwsIllegalArg(() => parser.addOption('flummox', abbr: name));
       }
     });
@@ -103,7 +103,7 @@
     test('throws ArgumentError if an option name is invalid', () {
       var parser = new ArgParser();
 
-      for(var name in _INVALID_OPTIONS) {
+      for (var name in _INVALID_OPTIONS) {
         var reason = '${Error.safeToString(name)} is not valid';
         throwsIllegalArg(() => parser.addOption(name), reason: reason);
       }
@@ -112,7 +112,7 @@
     test('accepts valid option names', () {
       var parser = new ArgParser();
 
-      for(var name in _VALID_OPTIONS) {
+      for (var name in _VALID_OPTIONS) {
         var reason = '${Error.safeToString(name)} is valid';
         expect(() => parser.addOption(name), returnsNormally, reason: reason);
       }
@@ -286,24 +286,28 @@
 }
 
 const _INVALID_OPTIONS = const [
- ' ', '', '-', '--', '--foo',
- ' with space',
- 'with\ttab',
- 'with\rcarriage\rreturn',
- 'with\nline\nfeed',
- "'singlequotes'",
- '"doublequotes"',
- 'back\\slash',
- 'forward/slash'
+  ' ',
+  '',
+  '-',
+  '--',
+  '--foo',
+  ' with space',
+  'with\ttab',
+  'with\rcarriage\rreturn',
+  'with\nline\nfeed',
+  "'singlequotes'",
+  '"doublequotes"',
+  'back\\slash',
+  'forward/slash'
 ];
 
 const _VALID_OPTIONS = const [
- 'a' // One character.
- 'contains-dash',
- 'contains_underscore',
- 'ends-with-dash-',
- 'contains--doubledash--',
- '1starts-with-number',
- 'contains-a-1number',
- 'ends-with-a-number8'
+  'a' // One character.
+      'contains-dash',
+  'contains_underscore',
+  'ends-with-dash-',
+  'contains--doubledash--',
+  '1starts-with-number',
+  'contains-a-1number',
+  'ends-with-a-number8'
 ];
diff --git a/test/command_parse_test.dart b/test/command_parse_test.dart
index ac53056..e336e71 100644
--- a/test/command_parse_test.dart
+++ b/test/command_parse_test.dart
@@ -34,8 +34,7 @@
 
   group('ArgParser.parse()', () {
     test('parses a command', () {
-      var parser = new ArgParser();
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()..addCommand('install');
 
       var args = parser.parse(['install']);
 
@@ -53,9 +52,9 @@
     });
 
     test('parses a parent solo option before the command', () {
-      var parser = new ArgParser();
-      parser.addOption('mode', abbr: 'm');
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addOption('mode', abbr: 'm')
+        ..addCommand('install');
 
       var args = parser.parse(['-m', 'debug', 'install']);
       expect(args['mode'], equals('debug'));
@@ -63,9 +62,9 @@
     });
 
     test('parses a parent solo option after the command', () {
-      var parser = new ArgParser();
-      parser.addOption('mode', abbr: 'm');
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addOption('mode', abbr: 'm')
+        ..addCommand('install');
 
       var args = parser.parse(['install', '-m', 'debug']);
       expect(args['mode'], equals('debug'));
@@ -73,9 +72,9 @@
     });
 
     test('parses a parent option before the command', () {
-      var parser = new ArgParser();
-      parser.addFlag('verbose');
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addFlag('verbose')
+        ..addCommand('install');
 
       var args = parser.parse(['--verbose', 'install']);
       expect(args['verbose'], isTrue);
@@ -83,9 +82,9 @@
     });
 
     test('parses a parent option after the command', () {
-      var parser = new ArgParser();
-      parser.addFlag('verbose');
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addFlag('verbose')
+        ..addCommand('install');
 
       var args = parser.parse(['install', '--verbose']);
       expect(args['verbose'], isTrue);
@@ -93,9 +92,9 @@
     });
 
     test('parses a parent negated option before the command', () {
-      var parser = new ArgParser();
-      parser.addFlag('verbose', defaultsTo: true);
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addFlag('verbose', defaultsTo: true)
+        ..addCommand('install');
 
       var args = parser.parse(['--no-verbose', 'install']);
       expect(args['verbose'], isFalse);
@@ -103,9 +102,9 @@
     });
 
     test('parses a parent negated option after the command', () {
-      var parser = new ArgParser();
-      parser.addFlag('verbose', defaultsTo: true);
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addFlag('verbose', defaultsTo: true)
+        ..addCommand('install');
 
       var args = parser.parse(['install', '--no-verbose']);
       expect(args['verbose'], isFalse);
@@ -113,10 +112,10 @@
     });
 
     test('parses a parent abbreviation before the command', () {
-      var parser = new ArgParser();
-      parser.addFlag('debug', abbr: 'd');
-      parser.addFlag('verbose', abbr: 'v');
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addFlag('debug', abbr: 'd')
+        ..addFlag('verbose', abbr: 'v')
+        ..addCommand('install');
 
       var args = parser.parse(['-dv', 'install']);
       expect(args['debug'], isTrue);
@@ -125,10 +124,10 @@
     });
 
     test('parses a parent abbreviation after the command', () {
-      var parser = new ArgParser();
-      parser.addFlag('debug', abbr: 'd');
-      parser.addFlag('verbose', abbr: 'v');
-      var command = parser.addCommand('install');
+      var parser = new ArgParser()
+        ..addFlag('debug', abbr: 'd')
+        ..addFlag('verbose', abbr: 'v')
+        ..addCommand('install');
 
       var args = parser.parse(['install', '-dv']);
       expect(args['debug'], isTrue);
@@ -180,9 +179,9 @@
     test('option is given to innermost command that can take it', () {
       var parser = new ArgParser();
       parser.addFlag('verbose');
-      var command = parser.addCommand('cmd');
-      command.addFlag('verbose');
-      var subcommand = command.addCommand('subcmd');
+      parser.addCommand('cmd')
+        ..addFlag('verbose')
+        ..addCommand('subcmd');
 
       var args = parser.parse(['cmd', 'subcmd', '--verbose']);
       expect(args['verbose'], isFalse);
@@ -193,8 +192,7 @@
 
     test('remaining arguments are given to the innermost command', () {
       var parser = new ArgParser();
-      var command = parser.addCommand('cmd');
-      var subcommand = command.addCommand('subcmd');
+      parser.addCommand('cmd')..addCommand('subcmd');
 
       var args = parser.parse(['cmd', 'subcmd', 'other', 'stuff']);
       expect(args.command.name, equals('cmd'));
diff --git a/test/command_runner_test.dart b/test/command_runner_test.dart
index ba7faeb..904a038 100644
--- a/test/command_runner_test.dart
+++ b/test/command_runner_test.dart
@@ -4,7 +4,6 @@
 
 library command_runner_test;
 
-import 'package:args/args.dart';
 import 'package:args/command_runner.dart';
 import 'package:unittest/unittest.dart';
 
@@ -28,8 +27,7 @@
   });
 
   test(".invocation has a sane default", () {
-    expect(runner.invocation,
-        equals("test <command> [arguments]"));
+    expect(runner.invocation, equals("test <command> [arguments]"));
   });
 
   group(".usage", () {
@@ -200,7 +198,7 @@
 
 Run "test help" to see global options.
 """));
-    });
+      });
 
       test("prints its own usage", () {
         expect(() => runner.run(["help", "help"]), prints("""
@@ -229,31 +227,28 @@
     });
 
     test("includes the footer in usage errors", () {
-      expect(runner.run(["--bad"]),
-          throwsUsageError('Could not find an option named "bad".',
-              "$_DEFAULT_USAGE\nAlso, footer!"));
+      expect(runner.run(["--bad"]), throwsUsageError(
+          'Could not find an option named "bad".',
+          "$_DEFAULT_USAGE\nAlso, footer!"));
     });
   });
 
   group("throws a useful error when", () {
     test("arg parsing fails", () {
-      expect(runner.run(["--bad"]),
-          throwsUsageError('Could not find an option named "bad".',
-              _DEFAULT_USAGE));
+      expect(runner.run(["--bad"]), throwsUsageError(
+          'Could not find an option named "bad".', _DEFAULT_USAGE));
     });
 
     test("a top-level command doesn't exist", () {
-      expect(runner.run(["bad"]),
-          throwsUsageError('Could not find a command named "bad".',
-              _DEFAULT_USAGE));
+      expect(runner.run(["bad"]), throwsUsageError(
+          'Could not find a command named "bad".', _DEFAULT_USAGE));
     });
 
     test("a subcommand doesn't exist", () {
-      runner.addCommand(
-          new FooCommand()..addSubcommand(new AsyncCommand()));
+      runner.addCommand(new FooCommand()..addSubcommand(new AsyncCommand()));
 
-      expect(runner.run(["foo bad"]),
-          throwsUsageError('Could not find a command named "foo bad".', """
+      expect(runner.run(["foo bad"]), throwsUsageError(
+          'Could not find a command named "foo bad".', """
 Usage: test <command> [arguments]
 
 Global options:
@@ -267,11 +262,10 @@
     });
 
     test("a subcommand wasn't passed", () {
-      runner.addCommand(
-          new FooCommand()..addSubcommand(new AsyncCommand()));
+      runner.addCommand(new FooCommand()..addSubcommand(new AsyncCommand()));
 
-      expect(runner.run(["foo"]),
-          throwsUsageError('Missing subcommand for "test foo".', """
+      expect(runner.run(["foo"]), throwsUsageError(
+          'Missing subcommand for "test foo".', """
 Usage: test foo <subcommand> [arguments]
 -h, --help    Print this usage information.
 
@@ -284,8 +278,8 @@
     test("a command that doesn't take arguments was given them", () {
       runner.addCommand(new FooCommand());
 
-      expect(runner.run(["foo", "bar"]),
-          throwsUsageError('Command "foo" does not take any arguments.', """
+      expect(runner.run(["foo", "bar"]), throwsUsageError(
+          'Command "foo" does not take any arguments.', """
 Usage: test foo [arguments]
 -h, --help    Print this usage information.
 
diff --git a/test/command_test.dart b/test/command_test.dart
index ae3594b..fe3446c 100644
--- a/test/command_test.dart
+++ b/test/command_test.dart
@@ -4,7 +4,6 @@
 
 library command_test;
 
-import 'package:args/args.dart';
 import 'package:args/command_runner.dart';
 import 'package:unittest/unittest.dart';
 import 'utils.dart';
@@ -14,28 +13,25 @@
   setUp(() {
     foo = new FooCommand();
 
-      // Make sure [Command.runner] is set up.
+    // Make sure [Command.runner] is set up.
     new CommandRunner("test", "A test command runner.").addCommand(foo);
   });
 
   group(".invocation has a sane default", () {
     test("without subcommands", () {
-      expect(foo.invocation,
-          equals("test foo [arguments]"));
+      expect(foo.invocation, equals("test foo [arguments]"));
     });
 
     test("with subcommands", () {
       foo.addSubcommand(new AsyncCommand());
-      expect(foo.invocation,
-          equals("test foo <subcommand> [arguments]"));
+      expect(foo.invocation, equals("test foo <subcommand> [arguments]"));
     });
 
     test("for a subcommand", () {
       var async = new AsyncCommand();
       foo.addSubcommand(async);
 
-      expect(async.invocation,
-          equals("test foo async [arguments]"));
+      expect(async.invocation, equals("test foo async [arguments]"));
     });
   });
 
diff --git a/test/parse_test.dart b/test/parse_test.dart
index 56320d6..0dd00ba 100644
--- a/test/parse_test.dart
+++ b/test/parse_test.dart
@@ -105,17 +105,16 @@
         var parser = new ArgParser();
         parser.addFlag('a', callback: (value) => a = value);
 
-        var args = parser.parse(['--a']);
+        parser.parse(['--a']);
         expect(a, isTrue);
       });
 
       test('for absent flags are invoked with the default value', () {
         var a;
         var parser = new ArgParser();
-        parser.addFlag('a', defaultsTo: false,
-            callback: (value) => a = value);
+        parser.addFlag('a', defaultsTo: false, callback: (value) => a = value);
 
-        var args = parser.parse([]);
+        parser.parse([]);
         expect(a, isFalse);
       });
 
@@ -124,7 +123,7 @@
         var parser = new ArgParser();
         parser.addFlag('a', callback: (value) => a = value);
 
-        var args = parser.parse([]);
+        parser.parse([]);
         expect(a, isFalse);
       });
 
@@ -133,17 +132,16 @@
         var parser = new ArgParser();
         parser.addOption('a', callback: (value) => a = value);
 
-        var args = parser.parse(['--a=v']);
+        parser.parse(['--a=v']);
         expect(a, equals('v'));
       });
 
       test('for absent options are invoked with the default value', () {
         var a;
         var parser = new ArgParser();
-        parser.addOption('a', defaultsTo: 'v',
-            callback: (value) => a = value);
+        parser.addOption('a', defaultsTo: 'v', callback: (value) => a = value);
 
-        var args = parser.parse([]);
+        parser.parse([]);
         expect(a, equals('v'));
       });
 
@@ -152,51 +150,53 @@
         var parser = new ArgParser();
         parser.addOption('a', callback: (value) => a = value);
 
-        var args = parser.parse([]);
+        parser.parse([]);
         expect(a, isNull);
       });
 
       test('for multiple present, allowMultiple, options are invoked with '
-           'value as a list', () {
+          'value as a list', () {
         var a;
         var parser = new ArgParser();
-        parser.addOption('a', allowMultiple: true,
-            callback: (value) => a = value);
+        parser.addOption('a',
+            allowMultiple: true, callback: (value) => a = value);
 
-        var args = parser.parse(['--a=v', '--a=x']);
+        parser.parse(['--a=v', '--a=x']);
         expect(a, equals(['v', 'x']));
       });
 
       test('for single present, allowMultiple, options are invoked with '
-           ' value as a single element list', () {
+          ' value as a single element list', () {
         var a;
         var parser = new ArgParser();
-        parser.addOption('a', allowMultiple: true,
-            callback: (value) => a = value);
+        parser.addOption('a',
+            allowMultiple: true, callback: (value) => a = value);
 
-        var args = parser.parse(['--a=v']);
+        parser.parse(['--a=v']);
         expect(a, equals(['v']));
       });
 
       test('for absent, allowMultiple, options are invoked with default '
-           'value as a list.', () {
+          'value as a list.', () {
         var a;
         var parser = new ArgParser();
-        parser.addOption('a', allowMultiple: true, defaultsTo: 'v',
+        parser.addOption('a',
+            allowMultiple: true,
+            defaultsTo: 'v',
             callback: (value) => a = value);
 
-        var args = parser.parse([]);
+        parser.parse([]);
         expect(a, equals(['v']));
       });
 
       test('for absent, allowMultiple, options are invoked with value '
-           'as an empty list.', () {
+          'as an empty list.', () {
         var a;
         var parser = new ArgParser();
-        parser.addOption('a', allowMultiple: true,
-            callback: (value) => a = value);
+        parser.addOption('a',
+            allowMultiple: true, callback: (value) => a = value);
 
-        var args = parser.parse([]);
+        parser.parse([]);
         expect(a, isEmpty);
       });
     });
@@ -392,11 +392,11 @@
         var args = parser.parse(['--define=1']);
         expect(args['define'], equals(['1']));
         args = parser.parse(['--define=1', '--define=2']);
-        expect(args['define'], equals(['1','2']));
+        expect(args['define'], equals(['1', '2']));
       });
 
       test('returns the default value for multi-valued arguments '
-           'if not explicitly set', () {
+          'if not explicitly set', () {
         var parser = new ArgParser();
         parser.addOption('define', defaultsTo: '0', allowMultiple: true);
         var args = parser.parse(['']);
diff --git a/test/trailing_options_test.dart b/test/trailing_options_test.dart
index 2ee860c..24f6ce7 100644
--- a/test/trailing_options_test.dart
+++ b/test/trailing_options_test.dart
@@ -19,9 +19,9 @@
       parser = new ArgParser(allowTrailingOptions: true);
     });
 
-    void expectThrows(List<String> args) =>
-      expect(() => parser.parse(args), throwsFormatException,
-          reason: "with allowTrailingOptions: true");
+    void expectThrows(List<String> args) => expect(
+        () => parser.parse(args), throwsFormatException,
+        reason: "with allowTrailingOptions: true");
 
     test('collects non-options in rest', () {
       parser.addFlag('flag');
@@ -84,8 +84,8 @@
   test("uses the innermost command's trailing options behavior", () {
     var parser = new ArgParser(allowTrailingOptions: true);
     parser.addFlag('flag', abbr: 'f');
-    var command = parser.addCommand('cmd',
-        new ArgParser(allowTrailingOptions: false));
+    var command =
+        parser.addCommand('cmd', new ArgParser(allowTrailingOptions: false));
     command.addFlag('verbose', abbr: 'v');
 
     var results = parser.parse(['a', '-f', 'b']);
diff --git a/test/usage_test.dart b/test/usage_test.dart
index 2c44ec3..e7f3e47 100644
--- a/test/usage_test.dart
+++ b/test/usage_test.dart
@@ -13,8 +13,7 @@
       var parser = new ArgParser();
       parser.addFlag('mode', help: 'The mode');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]mode    The mode
           ''');
     });
@@ -23,8 +22,7 @@
       var parser = new ArgParser();
       parser.addFlag('mode', negatable: false, help: 'The mode');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --mode    The mode
           ''');
     });
@@ -33,8 +31,7 @@
       var parser = new ArgParser();
       parser.addFlag('mode', help: 'The mode');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]mode    The mode
           ''');
     });
@@ -44,8 +41,7 @@
       parser.addFlag('mode', abbr: 'm', help: 'The mode');
       parser.addOption('long', help: 'Lacks an abbreviation');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           -m, --[no-]mode    The mode
               --long         Lacks an abbreviation
           ''');
@@ -56,8 +52,7 @@
       parser.addFlag('mode', abbr: 'm', help: 'Lined up with below');
       parser.addOption('a-really-long-name', help: 'Its help text');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           -m, --[no-]mode             Lined up with below
               --a-really-long-name    Its help text
           ''');
@@ -67,8 +62,7 @@
       var parser = new ArgParser();
       parser.addFlag('mode', help: '\n\n\n\nAfter newlines');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]mode    After newlines
           ''');
     });
@@ -77,8 +71,7 @@
       var parser = new ArgParser();
       parser.addFlag('mode', help: 'Before newlines\n\n\n\n');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]mode    Before newlines
           ''');
     });
@@ -89,8 +82,7 @@
       parser.addFlag('monkey', help: 'Second');
       parser.addFlag('wombat', help: 'Third');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]zebra     First
           --[no-]monkey    Second
           --[no-]wombat    Third
@@ -102,8 +94,7 @@
       parser.addFlag('affirm', help: 'Should be on', defaultsTo: true);
       parser.addFlag('negate', help: 'Should be off', defaultsTo: false);
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]affirm    Should be on
                            (defaults to on)
 
@@ -115,8 +106,7 @@
       var parser = new ArgParser();
       parser.addOption('any', help: 'Can be anything', defaultsTo: 'whatevs');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --any    Can be anything
                    (defaults to "whatevs")
           ''');
@@ -124,22 +114,21 @@
 
     test('the value help is shown', () {
       var parser = new ArgParser();
-      parser.addOption('out', abbr: 'o', help: 'Where to write file',
-          valueHelp: 'path');
+      parser.addOption('out',
+          abbr: 'o', help: 'Where to write file', valueHelp: 'path');
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           -o, --out=<path>    Where to write file
           ''');
     });
 
     test('the allowed list is shown', () {
       var parser = new ArgParser();
-      parser.addOption('suit', help: 'Like in cards',
+      parser.addOption('suit',
+          help: 'Like in cards',
           allowed: ['spades', 'clubs', 'hearts', 'diamonds']);
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --suit    Like in cards
                     [spades, clubs, hearts, diamonds]
           ''');
@@ -147,11 +136,12 @@
 
     test('the default is highlighted in the allowed list', () {
       var parser = new ArgParser();
-      parser.addOption('suit', help: 'Like in cards', defaultsTo: 'clubs',
+      parser.addOption('suit',
+          help: 'Like in cards',
+          defaultsTo: 'clubs',
           allowed: ['spades', 'clubs', 'hearts', 'diamonds']);
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --suit    Like in cards
                     [spades, clubs (default), hearts, diamonds]
           ''');
@@ -159,17 +149,18 @@
 
     test('the allowed help is shown', () {
       var parser = new ArgParser();
-      parser.addOption('suit', help: 'Like in cards', defaultsTo: 'clubs',
+      parser.addOption('suit',
+          help: 'Like in cards',
+          defaultsTo: 'clubs',
           allowed: ['spades', 'clubs', 'diamonds', 'hearts'],
           allowedHelp: {
-            'spades': 'Swords of a soldier',
-            'clubs': 'Weapons of war',
-            'diamonds': 'Money for this art',
-            'hearts': 'The shape of my heart'
-          });
+        'spades': 'Swords of a soldier',
+        'clubs': 'Weapons of war',
+        'diamonds': 'Money for this art',
+        'hearts': 'The shape of my heart'
+      });
 
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --suit              Like in cards
 
                 [clubs]       Weapons of war
@@ -185,9 +176,7 @@
       parser.addOption('second', hide: true);
       parser.addOption('third', help: 'The third option');
 
-
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --first    The first option
           --third    The third option
           ''');
@@ -199,9 +188,7 @@
       parser.addFlag('second', hide: true);
       parser.addFlag('third', help: 'The third flag');
 
-
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]first    The first flag
           --[no-]third    The third flag
           ''');
@@ -213,9 +200,7 @@
       parser.addFlag('second-very-long-option', hide: true);
       parser.addFlag('third', help: 'The third flag');
 
-
-      validateUsage(parser,
-          '''
+      validateUsage(parser, '''
           --[no-]first    The first flag
           --[no-]third    The third flag
           ''');