File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -129,23 +129,26 @@ export function createShikiHighlighter({
129
129
}
130
130
}
131
131
132
- const transformers : ShikiTransformer [ ] = [
133
- ...baseTransformers
134
- ]
132
+ const transformersMap = new Map < string , ShikiTransformer > ( )
133
+ for ( const transformer of baseTransformers ) {
134
+ transformersMap . set ( transformer . name || `transformer:${ Math . random ( ) } -${ transformer . constructor . name } ` , transformer )
135
+ }
135
136
136
137
for ( const config of await getConfigs ( ) ) {
137
138
const newTransformers = typeof config . shiki ?. transformers === 'function'
138
139
? await config . shiki ?. transformers ( code , lang , theme , options )
139
140
: config . shiki ?. transformers || [ ]
140
- transformers . push ( ...newTransformers )
141
+ for ( const transformer of newTransformers ) {
142
+ transformersMap . set ( transformer . name || `transformer:${ Math . random ( ) } -${ transformer . constructor . name } ` , transformer )
143
+ }
141
144
}
142
145
143
146
const root = shiki . codeToHast ( code . trimEnd ( ) , {
144
147
lang,
145
148
...codeToHastOptions ,
146
149
themes : themesObject ,
147
150
transformers : [
148
- ...transformers ,
151
+ ...transformersMap . values ( ) ,
149
152
{
150
153
name : 'mdc:highlight' ,
151
154
line ( node , line ) {
You can’t perform that action at this time.
0 commit comments