mirror of
https://github.com/ilyakooo0/helix.git
synced 2024-08-17 03:50:21 +03:00
fix crash when encountering overlapping injections
This commit is contained in:
parent
79a8fd6249
commit
2d5ff9ec8f
@ -1136,6 +1136,7 @@ fn point_sub(a: Point, b: Point) -> Point {
|
||||
RopeProvider(source_slice),
|
||||
);
|
||||
let mut injections = Vec::new();
|
||||
let mut last_injection_end = 0;
|
||||
for mat in matches {
|
||||
let (injection_capture, content_node, included_children) = layer
|
||||
.config
|
||||
@ -1155,6 +1156,10 @@ fn point_sub(a: Point, b: Point) -> Point {
|
||||
intersect_ranges(&layer.ranges, &[content_node], included_children);
|
||||
|
||||
if !ranges.is_empty() {
|
||||
if content_node.start_byte() < last_injection_end {
|
||||
continue;
|
||||
}
|
||||
last_injection_end = content_node.end_byte();
|
||||
injections.push((config, ranges));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user