From 18ca38f31b232c32d4277593043a267b2fb48b4d Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Sun, 5 Apr 2026 21:02:13 +0200 Subject: [PATCH] fix(web): pre-load common languages in shared Shiki highlighter The rehype plugin needs languages already loaded (it's synchronous). Pre-load 16 common languages (JS/TS, Go, Python, Rust, etc.) so Markdown code blocks get highlighted. FileViewer continues to load additional languages on demand. Co-Authored-By: Claude Opus 4.6 (1M context) --- webui2/src/lib/shiki.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/webui2/src/lib/shiki.ts b/webui2/src/lib/shiki.ts index 5f9f7e183da8b4612b6a0baa45dad8c4facae07d..7dc542a20ca47394c6e1758244215ee1cd9641d3 100644 --- a/webui2/src/lib/shiki.ts +++ b/webui2/src/lib/shiki.ts @@ -13,7 +13,26 @@ export function getHighlighter(): Promise { import("@shikijs/themes/github-light"), import("@shikijs/themes/github-dark"), ], - langs: [], + // Pre-load common languages for Markdown code blocks. + // FileViewer also loads additional languages on demand via loadLanguage(). + langs: [ + import("@shikijs/langs/javascript"), + import("@shikijs/langs/typescript"), + import("@shikijs/langs/jsx"), + import("@shikijs/langs/tsx"), + import("@shikijs/langs/json"), + import("@shikijs/langs/html"), + import("@shikijs/langs/css"), + import("@shikijs/langs/bash"), + import("@shikijs/langs/go"), + import("@shikijs/langs/yaml"), + import("@shikijs/langs/markdown"), + import("@shikijs/langs/python"), + import("@shikijs/langs/rust"), + import("@shikijs/langs/sql"), + import("@shikijs/langs/graphql"), + import("@shikijs/langs/diff"), + ], engine: createOnigurumaEngine(import("shiki/wasm")), }); }