@eccenca/gui-elements
Version:
GUI elements based on other libraries, usable in React application, written in Typescript.
52 lines • 2.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCodeMirrorModeExtension = exports.supportedCodeEditorModes = void 0;
//adapted v6 modes imports
const lang_javascript_1 = require("@codemirror/lang-javascript");
const lang_json_1 = require("@codemirror/lang-json");
const lang_markdown_1 = require("@codemirror/lang-markdown");
const lang_sql_1 = require("@codemirror/lang-sql");
const lang_xml_1 = require("@codemirror/lang-xml");
const lang_yaml_1 = require("@codemirror/lang-yaml");
const language_1 = require("@codemirror/language");
//legacy mode imports
const jinja2_1 = require("@codemirror/legacy-modes/mode/jinja2");
const mathematica_1 = require("@codemirror/legacy-modes/mode/mathematica");
const ntriples_1 = require("@codemirror/legacy-modes/mode/ntriples");
const python_1 = require("@codemirror/legacy-modes/mode/python");
const sparql_1 = require("@codemirror/legacy-modes/mode/sparql");
const turtle_1 = require("@codemirror/legacy-modes/mode/turtle");
//adaptations
const codemirrorTestHelper_1 = require("../tests/codemirrorTestHelper");
const supportedModes = {
markdown: lang_markdown_1.markdown,
python: python_1.python,
sparql: sparql_1.sparql,
turtle: turtle_1.turtle,
xml: lang_xml_1.xml,
yaml: lang_yaml_1.yaml,
jinja2: jinja2_1.jinja2,
json: lang_json_1.json,
ntriples: ntriples_1.ntriples,
mathematica: mathematica_1.mathematica,
sql: lang_sql_1.sql,
javascript: lang_javascript_1.javascript,
};
exports.supportedCodeEditorModes = Object.keys(supportedModes);
const v6AdaptedModes = new Map([
["json", true],
["markdown", true],
["xml", true],
["sql", true],
["yaml", true],
["javascript", true],
]);
const useCodeMirrorModeExtension = (mode) => {
return !mode
? (0, codemirrorTestHelper_1.adaptedSyntaxHighlighting)(language_1.defaultHighlightStyle)
: v6AdaptedModes.has(mode)
? (typeof supportedModes[mode] === "function" ? supportedModes[mode] : () => null)()
: language_1.StreamLanguage === null || language_1.StreamLanguage === void 0 ? void 0 : language_1.StreamLanguage.define(supportedModes[mode]);
};
exports.useCodeMirrorModeExtension = useCodeMirrorModeExtension;
//# sourceMappingURL=useCodemirrorModeExtension.hooks.js.map