forked from didirus/AstralRinth
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
import hljs from 'highlight.js/lib/core'
|
|
|
|
import bash from 'highlight.js/lib/languages/bash'
|
|
import diff from 'highlight.js/lib/languages/diff'
|
|
import java from 'highlight.js/lib/languages/java'
|
|
import javascript from 'highlight.js/lib/languages/javascript'
|
|
import json from 'highlight.js/lib/languages/json'
|
|
import plaintext from 'highlight.js/lib/languages/plaintext'
|
|
import python from 'highlight.js/lib/languages/python'
|
|
import rust from 'highlight.js/lib/languages/rust'
|
|
import ini from 'highlight.js/lib/languages/ini'
|
|
import yaml from 'highlight.js/lib/languages/yaml'
|
|
|
|
hljs.registerLanguage('bash', bash)
|
|
hljs.registerLanguage('diff', diff)
|
|
hljs.registerLanguage('java', java)
|
|
hljs.registerLanguage('javascript', javascript)
|
|
hljs.registerLanguage('json', json)
|
|
hljs.registerLanguage('plaintext', plaintext)
|
|
hljs.registerLanguage('python', python)
|
|
hljs.registerLanguage('rust', rust)
|
|
hljs.registerLanguage('ini', ini)
|
|
hljs.registerLanguage('yaml', yaml)
|
|
|
|
export function highlight(code: string, lang: string) {
|
|
const language = hljs.getLanguage(lang) ? lang : 'plaintext'
|
|
return hljs.highlight(code, { language }).value
|
|
}
|