anchor.diff:    exit(1);
   }
   
  -void main(List<String> arguments) {
  +Future<void> main(List<String> arguments) async {
     final parser = globalArgParser();
     final options = parseArguments(parser, arguments);
     final commandOptions = options.command!;
  
positive.code:             '`download` and `generate`.');
        }
  
        final configFile = commandOptions['config-file'] as String?;
        final deleteExisting = commandOptions['delete-existing'] as bool;
        switch (commandOptions.command!.name) {
          case 'download':
            downloadFromConfiguration(configFile!).then((_) => print('Done!'));
            break;
          case 'generate':
            generateFromConfiguration(
              configFile!,
              deleteExisting,
            );
            print('Done');
  
negative.code: 
    switch (commandOptions.name) {
      case 'download':
        await downloadDiscoveryDocuments(commandOptions['output-dir'] as String);
        break;
      case 'run_config':
        if (commandOptions.command == null ||
  