A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text/cursor.rs')
| -rw-r--r-- | src/text/cursor.rs | 10 |
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?)?)) + } } |