anchor.diff:      ..addOption(_kOptionHeader, help: 'The header of the flx file')
       ..addOption(_kOptionSnapshot, help: 'The generated snapshot file')
       ..addOption(_kOptionWorking,
  -        help: 'The directory where to put temporary files');
  +        help: 'The directory where to put temporary files')
  +    ..addOption(_kOptionsManifest, help: 'The manifest file');
     final ArgResults argResults = parser.parse(args);
  -  if (_kOptions.any((String option) => !argResults.options.contains(option))) {
  +  if (_kRequiredOptions.any((String option) => !argResults.options.contains(option))) {
       printError('Missing option! All options must be specified.');
       exit(1);
     }
  
positive.code:       snapshotFile: new File(argResults[_kOptionSnapshot]),
        workingDirPath: argResults[_kOptionWorking],
        packagesPath: argResults[_kOptionPackages],
        manifestPath: defaultManifestPath,
        includeDefaultFonts: false,
      );
    } on ToolExit catch (e) {
  
negative.code: const String _kOptionHeader = 'header';
  const String _kOptionSnapshot = 'snapshot';
  const String _kOptionWorking = 'working-dir';
  const String _kOptionsManifest = 'manifest';
  const List<String> _kRequiredOptions = const <String>[
    _kOptionPackages,
    _kOptionOutput,
    _kOptionHeader,
  