code: function requestParameterHint(session, functionOffset) {
          var $deferredHints = $.Deferred(),
              fileInfo = getFileInfo(session, true),
              offset = getOffset(session, fileInfo, functionOffset),
              fnTypePromise = getTernFunctionType(fileInfo, offset);
  
          $.when(fnTypePromise).done(
              function (fnType) {
                  session.setFnType(fnType);
                  session.setFunctionCallPos(functionOffset);
                  $deferredHints.resolveWith(null, [fnType]);
              }
          ).fail(function () {
              $deferredHints.reject();
          });
  
          return $deferredHints.promise();
      }
docs: Request a parameter hint from Tern.
  
  @param {Session} session - the active hinting session
  @param {{line: number, ch: number}} functionOffset - the offset of the function call.
  @return {jQuery.Promise} - The promise will not complete until the
  hint has completed.