A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text/cursor.rs')
-rw-r--r--src/text/cursor.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/text/cursor.rs b/src/text/cursor.rs
index 2594ba5..077a750 100644
--- a/src/text/cursor.rs
+++ b/src/text/cursor.rs
@@ -509,4 +509,14 @@ impl Cursors {
// ) -> Vec<std::ops::Range<usize>> {
// panic!();
// }
+
+ pub fn sels<'a>(
+ &self,
+ text: &'a Rope,
+ ) -> std::iter::FilterMap<
+ impl Iterator<Item = Cursor> + ExactSizeIterator,
+ impl FnMut(Cursor) -> Option<RopeSlice<'a>>,
+ > {
+ self.iter().filter_map(|x| Some(text.get_slice(x.sel?)?))
+ }
}