fix: shiki fallback language (#1044)

This commit is contained in:
webfansplz 2023-01-13 23:08:08 +08:00 committed by GitHub
parent 0407ef353f
commit f76628d4ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View file

@ -32,10 +32,11 @@ export function useHightlighter(lang: Lang) {
.then(() => { .then(() => {
registeredLang.value.set(lang, true) registeredLang.value.set(lang, true)
}) })
.catch((e) => { .catch(() => {
console.error(`[shiki] Failed to load language ${lang}`) const fallbackLang = 'md'
console.error(e) shiki.value?.loadLanguage(fallbackLang).then(() => {
registeredLang.value.set(lang, false) registeredLang.value.set(fallbackLang, true)
})
}) })
return undefined return undefined
} }

View file

@ -43,7 +43,7 @@ function getDecorations({
findChildren(doc, node => node.type.name === name) findChildren(doc, node => node.type.name === name)
.forEach((block) => { .forEach((block) => {
let from = block.pos + 1 let from = block.pos + 1
const language = block.node.attrs.language || 'text' const language = block.node.attrs.language
const shiki = useHightlighter(language) const shiki = useHightlighter(language)