Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function highlight ({ value, lang }, cls, highlighter) {
const index = languages.findIndex((x) => x === lang)
const theme = shiki.getTheme('nord')
if (index >= 0) {
return highlighter.codeToHtml(value, lang)
}
// Fallback for unknown languages.
return `<code style="background: ${theme.bg}; color: ${theme.colors['terminal.foreground']}" class="${cls}">${escape(value)}</code>`
}
return async tree => {
const highlighter = await shiki.getHighlighter({
theme,
langs: languages
})
visit(tree, 'code', node => {
node.type = 'html'
try {
node.value = highlight(node, CLASS_BLOCK, highlighter)
} catch (e) {
node.value = ERROR_MESSAGE
}
})
if (!options.skipInline) {
visit(tree, 'inlineCode', node => {
node.type = 'html'