diff --git a/CHANGELOG.md b/CHANGELOG.md index b1b8959d..ec6ee176 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [2.0.0-alpha.3](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.2...v2.0.0-alpha.3) (2025-02-24) +## [2.0.0-alpha.3](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.2...v2.0.0-alpha.3) (2025-02-24) ### Bug Fixes diff --git a/src/node/markdown/plugins/highlight.ts b/src/node/markdown/plugins/highlight.ts index 28babad5..52e5e84e 100644 --- a/src/node/markdown/plugins/highlight.ts +++ b/src/node/markdown/plugins/highlight.ts @@ -7,11 +7,11 @@ import { type TransformerCompactLineOption } from '@shikijs/transformers' import { customAlphabet } from 'nanoid' -import type { ShikiTransformer, BundledLanguage } from 'shiki' -import { createHighlighter, guessEmbeddedLanguages } from 'shiki' +import c from 'picocolors' +import type { BundledLanguage, ShikiTransformer } from 'shiki' +import { createHighlighter, guessEmbeddedLanguages, isSpecialLang } from 'shiki' import type { Logger } from 'vite' import type { MarkdownOptions, ThemeOptions } from '../markdown' -import c from 'picocolors' const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10) @@ -111,7 +111,13 @@ export async function highlight( .toLowerCase() || defaultLang try { - await highlighter.loadLanguage(lang as any) + // https://github.com/shikijs/shiki/issues/952 + if ( + !isSpecialLang(lang) && + !highlighter.getLoadedLanguages().includes(lang) + ) { + await highlighter.loadLanguage(lang as any) + } } catch { logger.warn( c.yellow(