Просмотр исходного кода

fix(ui): force wasm highlighter for markdown code blocks (#17373)

Jack 1 месяц назад
Родитель
Сommit
5aaf1ddfb7
1 измененных файлов с 10 добавлено и 2 удалено
  1. 10 2
      packages/ui/src/context/marked.tsx

+ 10 - 2
packages/ui/src/context/marked.tsx

@@ -428,7 +428,11 @@ async function highlightCodeBlocks(html: string): Promise<string> {
   const matches = [...html.matchAll(codeBlockRegex)]
   if (matches.length === 0) return html
 
-  const highlighter = await getSharedHighlighter({ themes: ["OpenCode"], langs: [] })
+  const highlighter = await getSharedHighlighter({
+    themes: ["OpenCode"],
+    langs: [],
+    preferredHighlighter: "shiki-wasm",
+  })
 
   let result = html
   for (const match of matches) {
@@ -479,7 +483,11 @@ export const { use: useMarked, provider: MarkedProvider } = createSimpleContext(
       }),
       markedShiki({
         async highlight(code, lang) {
-          const highlighter = await getSharedHighlighter({ themes: ["OpenCode"], langs: [] })
+          const highlighter = await getSharedHighlighter({
+            themes: ["OpenCode"],
+            langs: [],
+            preferredHighlighter: "shiki-wasm",
+          })
           if (!(lang in bundledLanguages)) {
             lang = "text"
           }