anchor.diff:      });
     }
   
  -  Future selectFolder() {
  +  /**
  +   * Allows a user to select a folder on disk. Returns the selected folder
  +   * entry. Returns null in case the user cancels the action.
  +   */
  +  Future<chrome.ChromeFileEntry> selectFolder() {
       Completer completer = new Completer();
       chrome.ChooseEntryOptions options = new chrome.ChooseEntryOptions(
           type: chrome.ChooseEntryType.OPEN_DIRECTORY);
  
positive.code:   void _invoke([Object context]) {
      _dialog.element.querySelector("#selectCloneFolder").onClick.listen((_) {
        spark.selectFolder().then((entry) {
          chrome.fileSystem.getDisplayPath(entry).then((path) {
            _cloneDir = entry;
            (_dialog.element.querySelector("#cloneFolderPath")
                as InputElement).value = path;
          });
        });
      });
      _show();
  
negative.code:     _workspace = new ws.Workspace(localPrefs);
    }
  
    /**
     * Returns the path separator specific to os.
     */
    String getPathSeparator() {
      // TODO(grv) : Add check of os and return accordingly.
      return '/';
    }
  
    void createEditorComponents() {
      _aceManager = new AceManager(new DivElement());
      _aceThemeManager = new ThemeManager(
  