@@ -42,8 +42,6 @@ const default_renderer = {
42
42
/** @type {Record<string, string> } */
43
43
const options = { } ;
44
44
45
- let html = '' ;
46
-
47
45
let source = text
48
46
. replace ( / \/ \/ \/ ( .+ ?) (?: : ( .+ ) ) ? \n / gm, ( _ , key , value ) => {
49
47
options [ key ] = value ;
@@ -64,6 +62,14 @@ const default_renderer = {
64
62
} )
65
63
. replace ( / \* \\ \/ / g, '*/' ) ;
66
64
65
+ let html = '<div class="code-block"><div class="controls">' ;
66
+
67
+ if ( options . file ) {
68
+ html += `<span class="filename">${ options . file } </span>` ;
69
+ }
70
+
71
+ html += '</div>' ;
72
+
67
73
if ( lang === 'diff' ) {
68
74
const lines = source . split ( '\n' ) . map ( ( content ) => {
69
75
let type = null ;
@@ -78,23 +84,23 @@ const default_renderer = {
78
84
} ;
79
85
} ) ;
80
86
81
- html = `<div class="code-block"> <pre class="language-diff"><code>${ lines
87
+ html + = `<pre class="language-diff"><code>${ lines
82
88
. map ( ( line ) => {
83
89
if ( line . type ) return `<span class="${ line . type } ">${ line . content } \n</span>` ;
84
90
return line . content + '\n' ;
85
91
} )
86
- . join ( '' ) } </code></pre></div> `;
92
+ . join ( '' ) } </code></pre>`;
87
93
} else {
88
94
const plang = languages [ /** @type {keyof languages } */ ( lang ) ] ;
89
95
const highlighted = plang
90
96
? PrismJS . highlight ( source , PrismJS . languages [ plang ] , lang )
91
97
: escape_html ( source ) ;
92
98
93
- html = `<div class="code-block">${
94
- options . file ? `<span class="filename">${ options . file } </span>` : ''
95
- } <pre class='language-${ plang } '><code>${ highlighted } </code></pre></div>`;
99
+ html += `<pre class='language-${ plang } '><code>${ highlighted } </code></pre>` ;
96
100
}
97
101
102
+ html += '</div>' ;
103
+
98
104
return html
99
105
. replace ( / { 13 } ( [ ^ ] [ ^ ] + ?) { 13 } / g, ( _ , content ) => {
100
106
return highlight_spans ( content , 'highlight add' ) ;
0 commit comments