History

simp

Julius Marminge committed 8 months ago

Commit c832b7c1 parent 8bfc45d1 file · +5 −13Browse files

Unified · Split

apps/web/src/components/ChatMarkdown.tsx+5−13
@@ -87,28 +87,20 @@ function createHighlightCacheKey(code: string, language: string, themeName: Diff · 86 unmodified lines
8787 return `${fnv1a32(code).toString(36)}:${code.length}:${language}:${themeName}`;
8888 }
8989
90−function createHighlighterPromiseKey(language: string, themeName: DiffThemeName): string {
91− return `${language}:${themeName}`;
92−}
93−
9490 function estimateHighlightedSize(html: string, code: string): number {
9591 return Math.max(html.length * 2, code.length * 3);
9692 }
9793
98−function getHighlighterPromise(
99− language: string,
100− themeName: DiffThemeName,
101−): Promise<DiffsHighlighter> {
102− const cacheKey = createHighlighterPromiseKey(language, themeName);
103− const cached = highlighterPromiseCache.get(cacheKey);
94+function getHighlighterPromise(language: string): Promise<DiffsHighlighter> {
95+ const cached = highlighterPromiseCache.get(language);
10496 if (cached) return cached;
10597
10698 const promise = getSharedHighlighter({
107− themes: [themeName],
99+ themes: ["pierre-dark", "pierre-light"],
108100 langs: [language as SupportedLanguages],
109101 preferredHighlighter: "shiki-js",
110102 });
111− highlighterPromiseCache.set(cacheKey, promise);
103+ highlighterPromiseCache.set(language, promise);
112104 return promise;
113105 }
114106
@@ -186,7 +178,7 @@ function SuspenseShikiCodeBlock({ · 71 unmodified lines
186178 );
187179 }
188180
189− const highlighter = use(getHighlighterPromise(language, themeName));
181+ const highlighter = use(getHighlighterPromise(language));
190182 const highlightedHtml = useMemo(
191183 () => highlighter.codeToHtml(code, { lang: language, theme: themeName }),
192184 [code, highlighter, language, themeName],