anchor.diff:  
       // TODO: Timeout if the refactor request takes too long?
       Job job = new AnalysisRequestJob('rename', () {
  -      return analysisServer.getAvailableRefactorings(
  -          path, offset, end - offset).then((AvailableRefactoringsResult result) {
  +      return analysisServer
  +          .getAvailableRefactorings(path, offset, end - offset)
  +          .then((AvailableRefactoringsResult result) {
           if (result == null) return;
           _handleAvailableRefactoringsResult(result, path, offset, end, oldName);
         });
  
positive.code:     }
  
      promptUser('Rename refactor: enter the new name.',
          defaultText: oldName,
          selectText: true).then((_newName) {
        newName = _newName;
        if (_newName == null) return null;
  
        Job job = new AnalysisRequestJob('rename', () {
          // Perform the refactoring.
          RefactoringOptions option = new RenameRefactoringOptions(newName);
          return analysisServer.getRefactoring(Refactorings.RENAME, path, offset,
              end - offset, false, options: option).then((RefactoringResult result) {
            if (result == null) return;
            _handleRefactoringResult(result, oldName, newName, path);
          });
  
negative.code: library atom.refactor;
  
  import 'dart:async';
  