Reverse syntax highlighting query precedence ordering

pull/10793/head
Michael Davis 10 months ago committed by Blaž Hrastnik
parent 2301430e37
commit 0b5f0d606a

@ -2475,15 +2475,17 @@ impl<'a> Iterator for HighlightIter<'a> {
}
}
// Once a highlighting pattern is found for the current node, skip over
// any later highlighting patterns that also match this node. Captures
// Use the last capture found for the current node, skipping over any
// highlight patterns that also match this node. Captures
// for a given node are ordered by pattern index, so these subsequent
// captures are guaranteed to be for highlighting, not injections or
// local variables.
while let Some((next_match, next_capture_index)) = captures.peek() {
let next_capture = next_match.captures[*next_capture_index];
if next_capture.node == capture.node {
captures.next();
match_.remove();
capture = next_capture;
match_ = captures.next().unwrap().0;
} else {
break;
}

Loading…
Cancel
Save