@@ -116,14 +116,18 @@ class DoubleHighlighter {
116116
117117let shikiEngine : shiki . RegexEngine | undefined ;
118118let highlighter : DoubleHighlighter | undefined ;
119+ let ignoredLanguages : string [ ] | undefined ;
119120
120121export async function loadHighlighter (
121122 lightTheme : shiki . BundledTheme ,
122123 darkTheme : shiki . BundledTheme ,
123124 langs : shiki . BundledLanguage [ ] ,
125+ ignoredLangs : string [ ] | undefined ,
124126) {
125127 if ( highlighter ) return ;
126128
129+ ignoredLanguages = ignoredLangs ;
130+
127131 if ( ! shikiEngine ) {
128132 await shiki . loadBuiltinWasm ( ) ;
129133 shikiEngine = await shiki . createOnigurumaEngine ( ) ;
@@ -138,7 +142,7 @@ export async function loadHighlighter(
138142}
139143
140144export function isSupportedLanguage ( lang : string ) {
141- return getSupportedLanguages ( ) . includes ( lang ) ;
145+ return ignoredLanguages ?. includes ( lang ) || getSupportedLanguages ( ) . includes ( lang ) ;
142146}
143147
144148export function getSupportedLanguages ( ) : string [ ] {
@@ -150,13 +154,15 @@ export function getSupportedThemes(): string[] {
150154}
151155
152156export function isLoadedLanguage ( lang : string ) : boolean {
153- return plaintextLanguages . includes ( lang ) || ( highlighter ?. supports ( lang ) ?? false ) ;
157+ return (
158+ plaintextLanguages . includes ( lang ) || ignoredLanguages ?. includes ( lang ) || highlighter ?. supports ( lang ) || false
159+ ) ;
154160}
155161
156162export function highlight ( code : string , lang : string ) : string {
157163 assert ( highlighter , "Tried to highlight with an uninitialized highlighter" ) ;
158164
159- if ( plaintextLanguages . includes ( lang ) ) {
165+ if ( plaintextLanguages . includes ( lang ) || ignoredLanguages ?. includes ( lang ) ) {
160166 return JSX . renderElement ( < > { code } </ > ) ;
161167 }
162168
0 commit comments