2021-10-28 21:05:35 +01:00
|
|
|
import {
|
|
|
|
|
highlight,
|
|
|
|
|
languages as prismLanguages,
|
|
|
|
|
} from 'prismjs/components/prism-core';
|
2021-03-26 22:00:12 +00:00
|
|
|
|
|
|
|
|
import 'prismjs/components/prism-markup';
|
|
|
|
|
import 'prismjs/components/prism-css';
|
|
|
|
|
import 'prismjs/components/prism-clike';
|
|
|
|
|
import 'prismjs/components/prism-javascript';
|
|
|
|
|
import 'prismjs/components/prism-bash';
|
|
|
|
|
import 'prismjs/components/prism-diff';
|
|
|
|
|
import 'prismjs/components/prism-docker';
|
|
|
|
|
import 'prismjs/components/prism-go';
|
|
|
|
|
import 'prismjs/components/prism-groovy';
|
|
|
|
|
import 'prismjs/components/prism-haskell';
|
|
|
|
|
import 'prismjs/components/prism-java';
|
2021-03-27 11:49:46 +00:00
|
|
|
import 'prismjs/components/prism-javadoclike';
|
|
|
|
|
import 'prismjs/components/prism-javadoc';
|
2021-03-26 22:27:56 +00:00
|
|
|
import 'prismjs/components/prism-javastacktrace';
|
2021-03-26 22:00:12 +00:00
|
|
|
import 'prismjs/components/prism-javascript';
|
|
|
|
|
import 'prismjs/components/prism-json';
|
|
|
|
|
import 'prismjs/components/prism-kotlin';
|
2021-07-30 14:07:31 +01:00
|
|
|
import 'prismjs/components/prism-log';
|
2021-03-26 22:00:12 +00:00
|
|
|
import 'prismjs/components/prism-markdown';
|
2021-07-30 14:07:31 +01:00
|
|
|
import 'prismjs/components/prism-php';
|
|
|
|
|
import 'prismjs/components/prism-markup-templating';
|
2021-10-28 21:05:35 +01:00
|
|
|
import 'prismjs/components/prism-properties';
|
2021-03-26 22:00:12 +00:00
|
|
|
import 'prismjs/components/prism-protobuf';
|
|
|
|
|
import 'prismjs/components/prism-python';
|
|
|
|
|
import 'prismjs/components/prism-jsx';
|
|
|
|
|
import 'prismjs/components/prism-typescript';
|
2021-10-28 21:05:35 +01:00
|
|
|
import 'prismjs/components/prism-tsx';
|
2021-03-26 22:00:12 +00:00
|
|
|
import 'prismjs/components/prism-ruby';
|
|
|
|
|
import 'prismjs/components/prism-rust';
|
|
|
|
|
import 'prismjs/components/prism-sql';
|
|
|
|
|
import 'prismjs/components/prism-toml';
|
|
|
|
|
import 'prismjs/components/prism-yaml';
|
|
|
|
|
|
2021-10-28 21:05:35 +01:00
|
|
|
export const languages = {
|
|
|
|
|
config: ['yaml', 'json', 'toml', 'properties'],
|
|
|
|
|
logs: ['log', 'javastacktrace'],
|
|
|
|
|
code: [
|
|
|
|
|
'java',
|
|
|
|
|
'javascript',
|
|
|
|
|
'typescript',
|
|
|
|
|
'python',
|
|
|
|
|
'kotlin',
|
|
|
|
|
'clike',
|
|
|
|
|
'bash',
|
|
|
|
|
'ruby',
|
|
|
|
|
'rust',
|
|
|
|
|
'sql',
|
|
|
|
|
'go',
|
|
|
|
|
'groovy',
|
|
|
|
|
'haskell',
|
|
|
|
|
],
|
|
|
|
|
web: ['markup', 'css', 'php', 'jsx', 'tsx'],
|
|
|
|
|
misc: ['plain', 'docker', 'diff', 'markdown', 'protobuf'],
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const languageIds = Object.values(languages).flat(1);
|
2021-03-26 22:00:12 +00:00
|
|
|
|
|
|
|
|
export function getHighlighter(language) {
|
2021-10-28 21:05:35 +01:00
|
|
|
const grammar = prismLanguages[language] || {};
|
2021-04-02 13:05:15 +01:00
|
|
|
return input => highlight(input, grammar);
|
2021-03-26 22:00:12 +00:00
|
|
|
}
|