Implement buffer::move_to_enclosing_bracket

This commit is contained in:
Nathan Sobo
2021-05-28 12:07:30 -06:00
parent 276991fb5f
commit e9bd872b06
2 changed files with 35 additions and 15 deletions
+12 -2
View File
@@ -1,6 +1,6 @@
use crate::{
editor::{
buffer::{Anchor, Buffer, Point, ToPoint},
buffer::{Anchor, Buffer, Point, ToOffset as _, ToPoint as _},
display_map::DisplayMap,
Bias, DisplayPoint,
},
@@ -61,7 +61,7 @@ impl Selection {
}
}
pub fn range(&self, buffer: &Buffer) -> Range<Point> {
pub fn point_range(&self, buffer: &Buffer) -> Range<Point> {
let start = self.start.to_point(buffer);
let end = self.end.to_point(buffer);
if self.reversed {
@@ -71,6 +71,16 @@ impl Selection {
}
}
pub fn offset_range(&self, buffer: &Buffer) -> Range<usize> {
let start = self.start.to_offset(buffer);
let end = self.end.to_offset(buffer);
if self.reversed {
end..start
} else {
start..end
}
}
pub fn display_range(&self, map: &DisplayMap, app: &AppContext) -> Range<DisplayPoint> {
let start = self.start.to_display_point(map, app);
let end = self.end.to_display_point(map, app);