anchor.diff:      printUsage(parser);
       return false;
     } else if (result.wasParsed('reduceDir')) {
  -    if (result.rest.isNotEmpty) {
  -      printUsage(parser,
  -          error: 'A package path is not allowed in reduce mode.');
  -      return false;
  -    }
       return validateDir(parser, result['reduceDir']);
     } else if (result.rest.length != 1) {
       printUsage(parser, error: 'No package path specified.');
  
positive.code:     if (result.wasParsed('reduceDir')) {
        var data = RelevanceData();
        var dir = provider.getFolder(result['reduceDir']);
        for (var child in dir.getChildren()) {
          if (child is File) {
            var newData = RelevanceData.fromJson(child.readAsStringSync());
            data.addData(newData);
          }
        }
        writeRelevanceTable(data, generatedFile);
        return;
      }
  
  
negative.code:   if (validArguments(parser, result)) {
      var provider = PhysicalResourceProvider.INSTANCE;
      var packageRoot = provider.pathContext.normalize(package_root.packageRoot);
  
      void writeRelevanceTable(RelevanceData data, {String suffix = ''}) {
        var generatedFilePath = provider.pathContext.join(
            packageRoot,
            'analysis_server',
            'lib',
            'src',
            'services',
            'completion',
            'dart',
            'relevance_tables$suffix.g.dart');
        var generatedFile = provider.getFile(generatedFilePath);
  
        var buffer = StringBuffer();
        var writer = RelevanceTableWriter(buffer);
        writer.write(data);
  