anchor.diff:  
   class FileRenameAction extends SparkActionWithDialog implements ContextAction {
     ws.Resource resource;
  -  // TODO: Rename this to _fileName.
  -  InputElement _element;
  +  InputElement _nameElement;
   
     FileRenameAction(Spark spark, Element dialog)
         : super(spark, "file-rename", "Rename…", dialog) {
  -    _element = _dialog.element.querySelector("#fileName");
  +    _nameElement = _dialog.element.querySelector("#fileName");
  +    _triggerOnReturn(_nameElement);
     }
   
     void _invoke([List<ws.Resource> resources]) {
      if (resources != null && resources.isNotEmpty) {
        resource = resources.first;
  -     _element.value = resource.name;
  +     _nameElement.value = resource.name;
        _dialog.show();
      }
     }
   
     void _commit() {
  -    if (_element.value.isNotEmpty) {
  +    if (_nameElement.value.isNotEmpty) {
         spark._closeOpenEditor(resource);
  -      resource.rename(_element.value);
  +      resource.rename(_nameElement.value);
       }
     }
   
  
positive.code: 
    void _commit() {
      // TODO(grv): add verify checks.
      String projectName = (_dialog.element.querySelector(
          "#gitProjectName") as InputElement).value;
      String repoUrl = (_dialog.element.querySelector(
          "#gitRepoUrl") as InputElement).value;
      _gitClone(projectName, repoUrl, spark);
    }
  
    void _gitClone(String projectName, String url, Spark spark) {
  
negative.code:   }
  
    void _commit();
  
    void _triggerOnReturn(Element element) {
      element.onKeyDown.listen((event) {
        if (event.keyCode == KeyCode.ENTER) {
          _commit();
          _dialog.hide();
        }
      });
    }
  }
  
  class FileOpenInTabAction extends SparkAction implements ContextAction {
    FileOpenInTabAction(Spark spark) :
        super(spark, "file-open-in-tab", "Open in New Tab");
  
    void _invoke([List<ws.File> files]) {
      bool forceOpen = files.length > 1;
  