Merge pull request #984 from zed-industries/deterministic-marked-text-ranges

Order returned ranges from marked_text_ranges by start index
This commit is contained in:
Keith Simmons 2022-05-11 10:31:33 -07:00 committed by GitHub
commit 61b4a4202f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -61,12 +61,12 @@ pub fn marked_text_ranges(full_marked_text: &str) -> (String, Vec<Range<usize>>)
let (range_marked_text, empty_offsets) = marked_text(full_marked_text); let (range_marked_text, empty_offsets) = marked_text(full_marked_text);
let (unmarked, range_lookup) = let (unmarked, range_lookup) =
marked_text_ranges_by(&range_marked_text, vec![('[', ']'), ('(', ')'), ('<', '>')]); marked_text_ranges_by(&range_marked_text, vec![('[', ']'), ('(', ')'), ('<', '>')]);
( let mut combined_ranges: Vec<_> = range_lookup
unmarked,
range_lookup
.into_values() .into_values()
.flatten() .flatten()
.chain(empty_offsets.into_iter().map(|offset| offset..offset)) .chain(empty_offsets.into_iter().map(|offset| offset..offset))
.collect(), .collect();
)
combined_ranges.sort_by_key(|range| range.start);
(unmarked, combined_ranges)
} }