anchor.diff:  
     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);
  +    _gitClone(projectNameElement.value, repoUrlElement.value, spark);
     }
   
     void _gitClone(String projectName, String url, Spark spark) {
  
positive.code:   ws.Folder folder;
  
    FileNewAction(Spark spark, Element dialog)
        : super(spark, "file-new", "New File", dialog) {
      defaultBinding("ctrl-n");
      _nameElement = _dialog.element.querySelector("#fileName");
    }
  
    void _invoke([List<ws.Folder> folders]) {
  
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;
  