anchor.diff:      if (argResults.rest.isNotEmpty)
         newName = argResults.rest.first;
       else {
  -      var p = new Prompter('Enter new project name: ');
  -      newName = await p.prompt(checker: (String str) => str.isNotEmpty);
  +      newName = prompts.get('Rename project to');
       }
   
  -    var ch = new Chooser<String>(['Yes', 'No'],
  -        message: 'Rename the project to `$newName`? ');
  -    var choice = await ch.choose();
  +    var choice = prompts.getBool('Rename the project to `$newName`?');
   
  -    if (choice == 'Yes') {
  +    if (choice) {
         print('Renaming project to `$newName`...');
         var pubspecFile =
             new File.fromUri(Directory.current.uri.resolve('pubspec.yaml'));
  
positive.code: }
  
  renamePubspec(Directory dir, String oldName, String newName) async {
    var pubspec = await Pubspec.load(dir);
    var newPubspec = new Pubspec.fromJson(pubspec.toJson()..['name'] = newName);
    await newPubspec.save(dir);
  }
  
  renameDartFiles(Directory dir, String oldName, String newName) async {
  
negative.code:       if (visitor.replace.isNotEmpty) {
          visitor.replace.forEach((range, replacement) {
            if (range.first is int) {
              contents = contents.replaceRange(
                  range.first as int, range.last as int, replacement);
            } else if (range.first is String) {
              contents = contents.replaceAll(range.first as Pattern, replacement);
            }
          });
  
  