@@ -138,6 +138,13 @@ function onEachLazy(lazyArray, func) {
138
138
}
139
139
}
140
140
141
+ function highlightIfNeeded ( elem ) {
142
+ onEachLazy ( elem . querySelectorAll ( "pre > code.language-rust:not(.highlighted)" ) , el => {
143
+ hljs . highlightElement ( el )
144
+ el . classList . add ( "highlighted" ) ;
145
+ } ) ;
146
+ }
147
+
141
148
function expandLintId ( lintId ) {
142
149
searchState . inputElem . value = lintId ;
143
150
searchState . filterLints ( ) ;
@@ -146,7 +153,7 @@ function expandLintId(lintId) {
146
153
const lintElem = document . getElementById ( lintId ) ;
147
154
const isCollapsed = lintElem . classList . remove ( "collapsed" ) ;
148
155
lintElem . querySelector ( ".label-doc-folding" ) . innerText = "-" ;
149
- onEachLazy ( lintElem . querySelectorAll ( "pre > code.language-rust" ) , el => hljs . highlightElement ( el ) ) ;
156
+ highlightIfNeeded ( lintElem ) ;
150
157
}
151
158
152
159
// Show details for one lint
@@ -160,7 +167,7 @@ function expandLint(lintId) {
160
167
const lintElem = document . getElementById ( lintId ) ;
161
168
const isCollapsed = lintElem . classList . toggle ( "collapsed" ) ;
162
169
lintElem . querySelector ( ".label-doc-folding" ) . innerText = isCollapsed ? "+" : "-" ;
163
- onEachLazy ( lintElem . querySelectorAll ( "pre > code.language-rust" ) , el => hljs . highlightElement ( el ) ) ;
170
+ highlightIfNeeded ( lintElem ) ;
164
171
}
165
172
166
173
function copyToClipboard ( event ) {
@@ -198,7 +205,10 @@ function handleBlur(event, elementId) {
198
205
function toggleExpansion ( expand ) {
199
206
onEachLazy (
200
207
document . querySelectorAll ( "article" ) ,
201
- expand ? el => el . classList . remove ( "collapsed" ) : el => el . classList . add ( "collapsed" ) ,
208
+ expand ? el => {
209
+ el . classList . remove ( "collapsed" ) ;
210
+ highlightIfNeeded ( el ) ;
211
+ } : el => el . classList . add ( "collapsed" ) ,
202
212
) ;
203
213
}
204
214
0 commit comments