UNPKG

@senx/discovery-code

Version:

Discovery Code Editor

52 lines (51 loc) 2.78 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()); } } }