From 1a66e517cdb2b5ff9486620bce64dc249a1d92be Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Sat, 28 Feb 2026 15:12:54 -0800 Subject: [PATCH] simp --- apps/web/src/components/ChatMarkdown.tsx | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/apps/web/src/components/ChatMarkdown.tsx b/apps/web/src/components/ChatMarkdown.tsx index 9d39849802f3baa2421d87bd2fcbed4e491f2e61..dc51bef4426320430192a5dcd9d9b004c38ef553 100644 --- a/apps/web/src/components/ChatMarkdown.tsx +++ b/apps/web/src/components/ChatMarkdown.tsx @@ -87,28 +87,20 @@ function createHighlightCacheKey(code: string, language: string, themeName: Diff return `${fnv1a32(code).toString(36)}:${code.length}:${language}:${themeName}`; } -function createHighlighterPromiseKey(language: string, themeName: DiffThemeName): string { - return `${language}:${themeName}`; -} - function estimateHighlightedSize(html: string, code: string): number { return Math.max(html.length * 2, code.length * 3); } -function getHighlighterPromise( - language: string, - themeName: DiffThemeName, -): Promise { - const cacheKey = createHighlighterPromiseKey(language, themeName); - const cached = highlighterPromiseCache.get(cacheKey); +function getHighlighterPromise(language: string): Promise { + const cached = highlighterPromiseCache.get(language); if (cached) return cached; const promise = getSharedHighlighter({ - themes: [themeName], + themes: ["pierre-dark", "pierre-light"], langs: [language as SupportedLanguages], preferredHighlighter: "shiki-js", }); - highlighterPromiseCache.set(cacheKey, promise); + highlighterPromiseCache.set(language, promise); return promise; } @@ -186,7 +178,7 @@ function SuspenseShikiCodeBlock({ ); } - const highlighter = use(getHighlighterPromise(language, themeName)); + const highlighter = use(getHighlighterPromise(language)); const highlightedHtml = useMemo( () => highlighter.codeToHtml(code, { lang: language, theme: themeName }), [code, highlighter, language, themeName], -- 2.54.0