anchor.diff:            help: 'Dart SDK Path')
         ..addOption('package-root', abbr: 'p', defaultsTo: Platform.packageRoot,
             help: 'comma-separated list of package roots')
  +      ..addOption('template-root', abbr: 't', defaultsTo: '.',
  +          help: 'comma-separated list of paths from which templates with'
  +                'absolute paths can be fetched')
         ..addOption('out', abbr: 'o', defaultsTo: '-',
             help: 'output file or "-" for stdout')
         ..addOption('url-rewrites', abbr: 'u',
  
positive.code:   Map<String, String> templates = {};
  
    var c = new SourceCrawler(options.sdkPath, options.packageRoots);
    var visitor =
        new TemplateCollectingVisitor(templates, options.skippedClasses, c);
    c.crawl(options.entryPoint,
        (CompilationUnitElement compilationUnit, SourceFile source) =>
            visitor(compilationUnit, source.canonicalPath));
  
negative.code:     print('output: ${options.output}');
      print('sdk-path: ${options.sdkPath}');
      print('package-root: ${options.packageRoots.join(",")}');
      print('template-root: ${options.templateRoots.join(",")}');
      var rewrites = options.urlRewrites.keys
          .map((k) => '${k.pattern},${options.urlRewrites[k]}')
          .join(';');
  