visitElementBefore method
- Element element
override
Called when an Element has been reached, before its children have been visited.
Implementation
@override
void visitElementBefore(md.Element element) {
_language = null;
_codeText = null;
// Fenced code blocks produce <pre><code class="language-xxx">...</code></pre>.
// Extract the language from the nested code element's class attribute.
if (element.children != null) {
for (final child in element.children!) {
if (child is md.Element && child.tag == 'code') {
final cls = child.attributes['class'] ?? '';
if (cls.startsWith('language-')) {
_language = cls.substring('language-'.length);
}
_codeText = child.textContent;
break;
}
}
}
}