Avoid panic in get_injections (#2486)

This commit is contained in:
Julia 2023-05-18 13:35:10 -04:00 committed by GitHub
commit bd29812391
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1114,6 +1114,8 @@ fn get_injections(
let mut query_cursor = QueryCursorHandle::new();
let mut prev_match = None;
// Ensure that a `ParseStep` is created for every combined injection language, even
// if there currently no matches for that injection.
combined_injection_ranges.clear();
for pattern in &config.patterns {
if let (Some(language_name), true) = (pattern.language.as_ref(), pattern.combined) {
@ -1174,8 +1176,8 @@ fn get_injections(
if let Some(language) = language {
if combined {
combined_injection_ranges
.get_mut(&language.clone())
.unwrap()
.entry(language.clone())
.or_default()
.extend(content_ranges);
} else {
queue.push(ParseStep {