@senx/warpview-editor
Version:
WarpView Editor Elements
52 lines • 9.21 kB
JavaScript
/*
* Copyright 2020 SenX S.A.S.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { WSCompletionItemProvider } from './WSCompletionItemProvider';
import { languages } from 'monaco-editor';
import { Monarch } from '../../../model/monarch';
import { WSLanguageConfiguration } from './WSLanguageConfiguration';
import { WSHoverProvider } from './WSHoverProvider';
import { FLoWSCompletionItemProvider } from './FLoWSCompletionItemProvider';
import { FLoWSHoverProvider } from './FLoWSHoverProvider';
import { FLoWSLanguageConfiguration } from './FLoWSLanguageConfiguration';
import { EditorUtils } from './editorUtils';
var registerCompletionItemProvider = languages.registerCompletionItemProvider;
var setMonarchTokensProvider = languages.setMonarchTokensProvider;
var getLanguages = languages.getLanguages;
var register = languages.register;
var setLanguageConfiguration = languages.setLanguageConfiguration;
var registerHoverProvider = languages.registerHoverProvider;
import { MonarchFlows } from '../../../model/monarchFlows';
export class ProviderRegistrar {
static register(config) {
// WarpScript
if (!getLanguages().find(l => l.id === EditorUtils.WARPSCRIPT_LANGUAGE)) {
register({ id: EditorUtils.WARPSCRIPT_LANGUAGE });
setLanguageConfiguration(EditorUtils.WARPSCRIPT_LANGUAGE, new WSLanguageConfiguration().getConfiguration());
setMonarchTokensProvider(EditorUtils.WARPSCRIPT_LANGUAGE, Monarch.rules);
registerCompletionItemProvider(EditorUtils.WARPSCRIPT_LANGUAGE, new WSCompletionItemProvider(config));
registerHoverProvider(EditorUtils.WARPSCRIPT_LANGUAGE, new WSHoverProvider());
}
// Flows
if (!getLanguages().find(l => l.id === EditorUtils.FLOWS_LANGUAGE)) {
register({ id: EditorUtils.FLOWS_LANGUAGE });
setLanguageConfiguration(EditorUtils.FLOWS_LANGUAGE, new FLoWSLanguageConfiguration().getConfiguration());
setMonarchTokensProvider(EditorUtils.FLOWS_LANGUAGE, MonarchFlows.rules);
registerCompletionItemProvider(EditorUtils.FLOWS_LANGUAGE, new FLoWSCompletionItemProvider(config));
registerHoverProvider(EditorUtils.FLOWS_LANGUAGE, new FLoWSHoverProvider());
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJSZWdpc3RyYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXJwdmlldy1lZGl0b3Itbmcvc3JjL2xpYi9lbGVtZW50cy93YXJwLXZpZXctZWRpdG9yL3Byb3ZpZGVycy9Qcm92aWRlclJlZ2lzdHJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFDLElBQU8sOEJBQThCLEdBQUcsU0FBUyxDQUFDLDhCQUE4QixDQUFDO0FBQ2pGLElBQU8sd0JBQXdCLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixDQUFDO0FBQ3JFLElBQU8sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7QUFDN0MsSUFBTyxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztBQUNyQyxJQUFPLHdCQUF3QixHQUFHLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQztBQUNyRSxJQUFPLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHekQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQWM7UUFDNUIsYUFBYTtRQUNiLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQ3ZFLFFBQVEsQ0FBQyxFQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDO1lBQ2hELHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLHVCQUF1QixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQzVHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekUsOEJBQThCLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN0RyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1NBQy9FO1FBQ0QsUUFBUTtRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNsRSxRQUFRLENBQUMsRUFBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUM7WUFDM0Msd0JBQXdCLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLDBCQUEwQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pFLDhCQUE4QixDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3BHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7U0FDN0U7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogIENvcHlyaWdodCAyMDIwIFNlblggUy5BLlMuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1dTQ29tcGxldGlvbkl0ZW1Qcm92aWRlcn0gZnJvbSAnLi9XU0NvbXBsZXRpb25JdGVtUHJvdmlkZXInO1xuaW1wb3J0IHtsYW5ndWFnZXN9IGZyb20gJ21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHtNb25hcmNofSBmcm9tICcuLi8uLi8uLi9tb2RlbC9tb25hcmNoJztcbmltcG9ydCB7V1NMYW5ndWFnZUNvbmZpZ3VyYXRpb259IGZyb20gJy4vV1NMYW5ndWFnZUNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtXU0hvdmVyUHJvdmlkZXJ9IGZyb20gJy4vV1NIb3ZlclByb3ZpZGVyJztcbmltcG9ydCB7RkxvV1NDb21wbGV0aW9uSXRlbVByb3ZpZGVyfSBmcm9tICcuL0ZMb1dTQ29tcGxldGlvbkl0ZW1Qcm92aWRlcic7XG5pbXBvcnQge0ZMb1dTSG92ZXJQcm92aWRlcn0gZnJvbSAnLi9GTG9XU0hvdmVyUHJvdmlkZXInO1xuaW1wb3J0IHtGTG9XU0xhbmd1YWdlQ29uZmlndXJhdGlvbn0gZnJvbSAnLi9GTG9XU0xhbmd1YWdlQ29uZmlndXJhdGlvbic7XG5pbXBvcnQge0VkaXRvclV0aWxzfSBmcm9tICcuL2VkaXRvclV0aWxzJztcbmltcG9ydCByZWdpc3RlckNvbXBsZXRpb25JdGVtUHJvdmlkZXIgPSBsYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyO1xuaW1wb3J0IHNldE1vbmFyY2hUb2tlbnNQcm92aWRlciA9IGxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXI7XG5pbXBvcnQgZ2V0TGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzLmdldExhbmd1YWdlcztcbmltcG9ydCByZWdpc3RlciA9IGxhbmd1YWdlcy5yZWdpc3RlcjtcbmltcG9ydCBzZXRMYW5ndWFnZUNvbmZpZ3VyYXRpb24gPSBsYW5ndWFnZXMuc2V0TGFuZ3VhZ2VDb25maWd1cmF0aW9uO1xuaW1wb3J0IHJlZ2lzdGVySG92ZXJQcm92aWRlciA9IGxhbmd1YWdlcy5yZWdpc3RlckhvdmVyUHJvdmlkZXI7XG5pbXBvcnQge01vbmFyY2hGbG93c30gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbW9uYXJjaEZsb3dzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9jb25maWcnO1xuXG5leHBvcnQgY2xhc3MgUHJvdmlkZXJSZWdpc3RyYXIge1xuXG4gIHN0YXRpYyByZWdpc3Rlcihjb25maWc6IENvbmZpZykge1xuICAgIC8vIFdhcnBTY3JpcHRcbiAgICBpZiAoIWdldExhbmd1YWdlcygpLmZpbmQobCA9PiBsLmlkID09PSBFZGl0b3JVdGlscy5XQVJQU0NSSVBUX0xBTkdVQUdFKSkge1xuICAgICAgcmVnaXN0ZXIoe2lkOiBFZGl0b3JVdGlscy5XQVJQU0NSSVBUX0xBTkdVQUdFfSk7XG4gICAgICBzZXRMYW5ndWFnZUNvbmZpZ3VyYXRpb24oRWRpdG9yVXRpbHMuV0FSUFNDUklQVF9MQU5HVUFHRSwgbmV3IFdTTGFuZ3VhZ2VDb25maWd1cmF0aW9uKCkuZ2V0Q29uZmlndXJhdGlvbigpKTtcbiAgICAgIHNldE1vbmFyY2hUb2tlbnNQcm92aWRlcihFZGl0b3JVdGlscy5XQVJQU0NSSVBUX0xBTkdVQUdFLCBNb25hcmNoLnJ1bGVzKTtcbiAgICAgIHJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihFZGl0b3JVdGlscy5XQVJQU0NSSVBUX0xBTkdVQUdFLCBuZXcgV1NDb21wbGV0aW9uSXRlbVByb3ZpZGVyKGNvbmZpZykpO1xuICAgICAgcmVnaXN0ZXJIb3ZlclByb3ZpZGVyKEVkaXRvclV0aWxzLldBUlBTQ1JJUFRfTEFOR1VBR0UsIG5ldyBXU0hvdmVyUHJvdmlkZXIoKSk7XG4gICAgfVxuICAgIC8vIEZsb3dzXG4gICAgaWYgKCFnZXRMYW5ndWFnZXMoKS5maW5kKGwgPT4gbC5pZCA9PT0gRWRpdG9yVXRpbHMuRkxPV1NfTEFOR1VBR0UpKSB7XG4gICAgICByZWdpc3Rlcih7aWQ6IEVkaXRvclV0aWxzLkZMT1dTX0xBTkdVQUdFfSk7XG4gICAgICBzZXRMYW5ndWFnZUNvbmZpZ3VyYXRpb24oRWRpdG9yVXRpbHMuRkxPV1NfTEFOR1VBR0UsIG5ldyBGTG9XU0xhbmd1YWdlQ29uZmlndXJhdGlvbigpLmdldENvbmZpZ3VyYXRpb24oKSk7XG4gICAgICBzZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIoRWRpdG9yVXRpbHMuRkxPV1NfTEFOR1VBR0UsIE1vbmFyY2hGbG93cy5ydWxlcyk7XG4gICAgICByZWdpc3RlckNvbXBsZXRpb25JdGVtUHJvdmlkZXIoRWRpdG9yVXRpbHMuRkxPV1NfTEFOR1VBR0UsIG5ldyBGTG9XU0NvbXBsZXRpb25JdGVtUHJvdmlkZXIoY29uZmlnKSk7XG4gICAgICByZWdpc3RlckhvdmVyUHJvdmlkZXIoRWRpdG9yVXRpbHMuRkxPV1NfTEFOR1VBR0UsIG5ldyBGTG9XU0hvdmVyUHJvdmlkZXIoKSk7XG4gICAgfVxuICB9XG59XG4iXX0=