public void registerCompletionProviders(final String editorId,
                                            final AceEditorMode aceEditorMode,
                                            final AceCompletionProvider... completionProviders) {
//        GWT.log("Registering " + completionProviders.length
//                + " with id " + editorId
//                + " and mode " + aceEditorMode);

        final String modeName = aceEditorMode != null
                ? aceEditorMode.getName()
                : null;
        final MapKey mapKey = MapKey.from(editorId, modeName);
        editorIdToCompletionProviderMap.computeIfAbsent(
                        mapKey, k -> new ArrayList<>())
                .addAll(Arrays.asList(completionProviders));

        logCompletionProvidersCount();
    }
Register completion providers specific to an editor and a mode
stroom-core-client-widget/src/main/java/stroom/editor/client/presenter/DelegatingAceCompleter.java