src/editor/EditorManager.js
function registerInlineEditProvider(provider, priority) {
        if (priority === undefined) {
            priority = 0;
        }
        _insertProviderSorted(_inlineEditProviders, provider, priority);
    }
function registerInlineEditProvider(provider, priority) {
        if (priority === undefined) {
            priority = 0;
        }
        _insertProviderSorted(_inlineEditProviders, provider, priority);
    }
function registerInlineEditProvider ( provider , priority ) { if ( priority === undefined ) { priority = 0 ; } _insertProviderSorted ( _inlineEditProviders , provider , priority ) ; }
Registers a new inline editor provider. When Quick Edit is invoked each registered provider is
asked if it wants to provide an inline editor given the current editor and cursor location.
An optional priority parameter is used to give providers with higher priority an opportunity
to provide an inline editor before providers with lower priority.

@param {function(!Editor, !{line:number, ch:number}):?($.Promise|string)} provider
@param {number=} priority
The provider returns a promise that will be resolved with an InlineWidget, or returns a string
indicating why the provider cannot respond to this case (or returns null to indicate no reason).
Registers a new inline editor provider . When Quick Edit is invoked each registered provider is asked if it wants to provide an inline editor given the current editor and cursor location . An optional priority parameter is used to give providers with higher priority an opportunity to provide an inline editor before providers with lower priority .