anchor.diff:      expectationsToKeep.add(Expectation.crash);
     }
   
  +  bool removeComments = results["remove-comments"];
  +
     for (String path in results.rest) {
  +    List<String> comments = [];
  +
       bool writeFile = results["overwrite"];
  +    bool resolveGithubIssueState = results["resolve-issue-states"];
       var statusFile = StatusFile.read(path);
  -    statusFile = removeNonEssentialEntries(statusFile, expectationsToKeep);
  +    if (resolveGithubIssueState) {
  +      await parseIssueFile();
  +    }
  +    statusFile = await removeNonEssentialEntries(statusFile, expectationsToKeep,
  +        removeComments, comments, resolveGithubIssueState);
       if (writeFile) {
  -      File(path).writeAsStringSync(statusFile.toString());
  -      print("Modified $path.");
  +      await File(path).writeAsString(statusFile.toString());
  +      print("Wrote $path.");
  +      if (removeComments) {
  +        await File("$path.csv").writeAsString(formatComments(comments));
  +        print("Wrote $path.csv.");
  +      }
       } else {
         print(statusFile);
  -    }
  -  }
  -}
  +      if (removeComments) {
  +        print("");
  +        print(formatComments(comments));
  +      }
  +    }
  +  }
  +}
  
positive.code:   print(parser.usage);
  }
  
  main(List<String> arguments) {
    var parser = buildParser();
    var results = parser.parse(arguments);
    if (results["help"] || results.rest.isEmpty) {
  
negative.code: //
  // When using the option to keep crashes, there will be an additional line
  //   a: Crash
  //
  // The option -r can be used to also process expectations in lines with
  // comments. In this mode, deleted comments are collected and either printed
  // out or written to a separate file (with -w).
  //
  // The option -i (with -r) tries to resolve the status of issues mentioned in
  // comments and adds it to the collected comments. This requires an issue.log
  // file as described in [parseIssueFile].
  
  import 'dart:io';
  
  