@@ -116,14 +116,18 @@ class DoubleHighlighter {
116
116
117
117
let shikiEngine : shiki . RegexEngine | undefined ;
118
118
let highlighter : DoubleHighlighter | undefined ;
119
+ let ignoredLanguages : string [ ] | undefined ;
119
120
120
121
export async function loadHighlighter (
121
122
lightTheme : shiki . BundledTheme ,
122
123
darkTheme : shiki . BundledTheme ,
123
124
langs : shiki . BundledLanguage [ ] ,
125
+ ignoredLangs : string [ ] | undefined ,
124
126
) {
125
127
if ( highlighter ) return ;
126
128
129
+ ignoredLanguages = ignoredLangs ;
130
+
127
131
if ( ! shikiEngine ) {
128
132
await shiki . loadBuiltinWasm ( ) ;
129
133
shikiEngine = await shiki . createOnigurumaEngine ( ) ;
@@ -138,7 +142,7 @@ export async function loadHighlighter(
138
142
}
139
143
140
144
export function isSupportedLanguage ( lang : string ) {
141
- return getSupportedLanguages ( ) . includes ( lang ) ;
145
+ return ignoredLanguages ?. includes ( lang ) || getSupportedLanguages ( ) . includes ( lang ) ;
142
146
}
143
147
144
148
export function getSupportedLanguages ( ) : string [ ] {
@@ -150,13 +154,15 @@ export function getSupportedThemes(): string[] {
150
154
}
151
155
152
156
export 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
+ ) ;
154
160
}
155
161
156
162
export function highlight ( code : string , lang : string ) : string {
157
163
assert ( highlighter , "Tried to highlight with an uninitialized highlighter" ) ;
158
164
159
- if ( plaintextLanguages . includes ( lang ) ) {
165
+ if ( plaintextLanguages . includes ( lang ) || ignoredLanguages ?. includes ( lang ) ) {
160
166
return JSX . renderElement ( < > { code } </ > ) ;
161
167
}
162
168
0 commit comments