src/features/ParameterHintsManager.js
function popUpHint(editor, explicit, onCursorActivity) {
        var request = null;
        var $deferredPopUp = $.Deferred();
        var sessionProvider = null;

        dismissHint(editor);
        // Find a suitable provider, if any
        var language = editor.getLanguageForSelection(),
            enabledProviders = _providerRegistrationHandler.getProvidersForLanguageId(language.getId());

        enabledProviders.some(function (item, index) {
            if (item.provider.hasParameterHints(editor, lastChar)) {
                sessionProvider = item.provider;
                return true;
            }
        });

        if (sessionProvider) {
            request = sessionProvider.getParameterHints(explicit, onCursorActivity);
        }

        if (request) {
            request.done(function (parameterHint) {
                var cm = editor._codeMirror,
                    pos = parameterHint.functionCallPos || editor.getCursorPos();

                pos = cm.charCoords(pos);
                formatHint(parameterHint);

                $hintContainer.show();
                positionHint(pos.left, pos.top, pos.bottom);
                hintState.visible = true;

                sessionEditor = editor;
                editor.on("cursorActivity.ParameterHinting", handleCursorActivity);
                $deferredPopUp.resolveWith(null);
            }).fail(function () {
                hintState = {};
            });
        }

        return $deferredPopUp;
    }
function popUpHint(editor, explicit, onCursorActivity) {
        var request = null;
        var $deferredPopUp = $.Deferred();
        var sessionProvider = null;

        dismissHint(editor);
        // Find a suitable provider, if any
        var language = editor.getLanguageForSelection(),
            enabledProviders = _providerRegistrationHandler.getProvidersForLanguageId(language.getId());

        enabledProviders.some(function (item, index) {
            if (item.provider.hasParameterHints(editor, lastChar)) {
                sessionProvider = item.provider;
                return true;
            }
        });

        if (sessionProvider) {
            request = sessionProvider.getParameterHints(explicit, onCursorActivity);
        }

        if (request) {
            request.done(function (parameterHint) {
                var cm = editor._codeMirror,
                    pos = parameterHint.functionCallPos || editor.getCursorPos();

                pos = cm.charCoords(pos);
                formatHint(parameterHint);

                $hintContainer.show();
                positionHint(pos.left, pos.top, pos.bottom);
                hintState.visible = true;

                sessionEditor = editor;
                editor.on("cursorActivity.ParameterHinting", handleCursorActivity);
                $deferredPopUp.resolveWith(null);
            }).fail(function () {
                hintState = {};
            });
        }

        return $deferredPopUp;
    }
function popUpHint ( editor , explicit , onCursorActivity ) { var request = null ; var $deferredPopUp = $ . Deferred ( ) ; var sessionProvider = null ; dismissHint ( editor ) ; // Find a suitable provider, if any var language = editor . getLanguageForSelection ( ) , enabledProviders = _providerRegistrationHandler . getProvidersForLanguageId ( language . getId ( ) ) ; enabledProviders . some ( function ( item , index ) { if ( item . provider . hasParameterHints ( editor , lastChar ) ) { sessionProvider = item . provider ; return true ; } } ) ; if ( sessionProvider ) { request = sessionProvider . getParameterHints ( explicit , onCursorActivity ) ; } if ( request ) { request . done ( function ( parameterHint ) { var cm = editor . _codeMirror , pos = parameterHint . functionCallPos || editor . getCursorPos ( ) ; pos = cm . charCoords ( pos ) ; formatHint ( parameterHint ) ; $hintContainer . show ( ) ; positionHint ( pos . left , pos . top , pos . bottom ) ; hintState . visible = true ; sessionEditor = editor ; editor . on ( "cursorActivity.ParameterHinting" , handleCursorActivity ) ; $deferredPopUp . resolveWith ( null ) ; } ) . fail ( function ( ) { hintState = { } ; } ) ; } return $deferredPopUp ; }
Pop up a function hint on the line above the caret position.

@param {object=} editor - current Active Editor
@param {boolean} True if hints are invoked through cursor activity.
@return {jQuery.Promise} - The promise will not complete until the
hint has completed. Returns null, if the function hint is already
displayed or there is no function hint at the cursor.
Pop up a function hint on the line above the caret position .