2
0
Adam 2 сар өмнө
parent
commit
9b8635f152

+ 6 - 12
packages/ui/src/context/marked.tsx

@@ -2,7 +2,7 @@ import { marked } from "marked"
 import markedKatex from "marked-katex-extension"
 import markedShiki from "marked-shiki"
 import katex from "katex"
-import { bundledLanguages, type BundledLanguage, createHighlighter, type HighlighterGeneric } from "shiki"
+import { bundledLanguages, type BundledLanguage, createHighlighter } from "shiki"
 import { createOnigurumaEngine } from "shiki/engine/oniguruma"
 import { createSimpleContext } from "./helper"
 import { getSharedHighlighter, registerCustomTheme, ThemeRegistrationResolved } from "@pierre/diffs"
@@ -377,24 +377,18 @@ registerCustomTheme("OpenCode", () => {
   } as unknown as ThemeRegistrationResolved)
 })
 
-let markdownHighlighter: HighlighterGeneric<any, any> | Promise<HighlighterGeneric<any, any>> | undefined
+let markdownHighlighter: Awaited<ReturnType<typeof createHighlighter>>
 
 export async function getMarkdownHighlighter() {
-  if (markdownHighlighter) {
-    if ("then" in markdownHighlighter) return markdownHighlighter
-    return markdownHighlighter
-  }
+  if (markdownHighlighter) return markdownHighlighter
   const shared = await getSharedHighlighter({ themes: ["OpenCode"], langs: [] })
   const theme = shared.getTheme("OpenCode")
-  const promise = createHighlighter({
+  markdownHighlighter = await createHighlighter({
     themes: [theme],
-    langs: ["text"],
+    langs: shared.getLoadedLanguages(),
     engine: createOnigurumaEngine(import("shiki/wasm")),
   })
-  markdownHighlighter = promise
-  const instance = await promise
-  markdownHighlighter = instance
-  return instance
+  return markdownHighlighter
 }
 
 function renderMathInText(text: string): string {