UNPKG

@senx/warpview-editor

Version:

WarpView Editor Elements

52 lines 9.21 kB
/* * 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=