@neo4j-ndl/react
Version:
React implementation of Neo4j Design System
103 lines • 4.2 kB
JavaScript
/**
*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [http://neo4j.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Source for available languages: https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_PRISM.MD
export const Languages = [
'asciidoc',
'bash',
'c',
'csharp',
'css',
'css-extras',
'cypher',
'docker',
'json',
'go',
'graphql',
'java',
'javadoc',
'javascript',
'jsx',
'kotlin',
'php',
'python',
'regex',
'rust',
'sql',
'typescript',
'xml',
'yaml',
];
export const loadLanguage = (language) => {
/* need to import the languages dynamically to reduce the bundle size and need to use a string literal for proper tree shaking */
switch (language) {
case 'asciidoc':
return import('react-syntax-highlighter/dist/esm/languages/prism/asciidoc');
case 'bash':
return import('react-syntax-highlighter/dist/esm/languages/prism/bash');
case 'c':
return import('react-syntax-highlighter/dist/esm/languages/prism/c');
case 'csharp':
return import('react-syntax-highlighter/dist/esm/languages/prism/csharp');
case 'css':
return import('react-syntax-highlighter/dist/esm/languages/prism/css');
case 'css-extras':
return import('react-syntax-highlighter/dist/esm/languages/prism/css-extras');
case 'cypher':
return import('react-syntax-highlighter/dist/esm/languages/prism/cypher');
case 'docker':
return import('react-syntax-highlighter/dist/esm/languages/prism/docker');
case 'json':
return import('react-syntax-highlighter/dist/esm/languages/prism/json');
case 'go':
return import('react-syntax-highlighter/dist/esm/languages/prism/go');
case 'graphql':
return import('react-syntax-highlighter/dist/esm/languages/prism/graphql');
case 'java':
return import('react-syntax-highlighter/dist/esm/languages/prism/java');
case 'javadoc':
return import('react-syntax-highlighter/dist/esm/languages/prism/javadoc');
case 'javascript':
return import('react-syntax-highlighter/dist/esm/languages/prism/javascript');
case 'jsx':
return import('react-syntax-highlighter/dist/esm/languages/prism/jsx');
case 'kotlin':
return import('react-syntax-highlighter/dist/esm/languages/prism/kotlin');
case 'php':
return import('react-syntax-highlighter/dist/esm/languages/prism/php');
case 'python':
return import('react-syntax-highlighter/dist/esm/languages/prism/python');
case 'regex':
return import('react-syntax-highlighter/dist/esm/languages/prism/regex');
case 'rust':
return import('react-syntax-highlighter/dist/esm/languages/prism/rust');
case 'sql':
return import('react-syntax-highlighter/dist/esm/languages/prism/sql');
case 'typescript':
return import('react-syntax-highlighter/dist/esm/languages/prism/typescript');
case 'xml':
return import('react-syntax-highlighter/dist/esm/languages/prism/xml-doc');
case 'yaml':
return import('react-syntax-highlighter/dist/esm/languages/prism/yaml');
default:
throw new Error(`Unsupported language: ${language}`);
}
};
//# sourceMappingURL=code-languages.js.map