fix bracket ranges failing test

This commit is contained in:
Kay Simmons 2023-02-17 17:19:23 -08:00
parent 57a7ff9a6f
commit 5e4d113308
5 changed files with 31 additions and 7 deletions

View file

@ -2346,7 +2346,7 @@ impl BufferSnapshot {
Some(items)
}
/// Returns bracket range pairs overlapping `range`
/// Returns bracket range pairs overlapping or adjacent to `range`
pub fn bracket_ranges<'a, T: ToOffset>(
&'a self,
range: Range<T>,
@ -2355,7 +2355,7 @@ impl BufferSnapshot {
let range = range.start.to_offset(self).saturating_sub(1)
..self.len().min(range.end.to_offset(self) + 1);
let mut matches = self.syntax.matches(range, &self.text, |grammar| {
let mut matches = self.syntax.matches(range.clone(), &self.text, |grammar| {
grammar.brackets_config.as_ref().map(|c| &c.query)
});
let configs = matches
@ -2380,6 +2380,12 @@ impl BufferSnapshot {
matches.advance();
let Some((open, close)) = open.zip(close) else { continue };
let bracket_range = open.start..=close.end;
if !bracket_range.contains(&range.start) && !bracket_range.contains(&range.end) {
continue;
}
return Some((open, close));
}
None