code: function runEditor(file) {
      var defer = vow.defer();
      var editor = process.env.EDITOR || 'vim';
      child_process.spawn(editor, [file], {stdio: 'inherit'})
          .on('exit', function (code) {
              if (code === 0) {
                  defer.resolve();
              } else {
                  defer.reject();
              }
          });
      return defer.promise();
  }
docs: Runs editor (specified through EDITOR environment variable) to edit a file.
  
  @param {String} file The file to be edited.
  @returns {vow.Promise} Promise that will be fulfilled when the editor exits
  with 0 return code and rejected if return code is non-zero.