A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text/cursor.rs')
-rw-r--r--src/text/cursor.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/text/cursor.rs b/src/text/cursor.rs
index 32b33a7..2594ba5 100644
--- a/src/text/cursor.rs
+++ b/src/text/cursor.rs
@@ -93,8 +93,11 @@ pub fn caster<T, U>(x: impl FnMut(T) -> U) -> impl FnMut(T) -> U {
}
pub macro ceach($cursor: expr, $f:expr $( => $q:tt)?) {
for i in (0..$cursor.inner.len()) {
- let c = *$cursor.inner.get(i).expect("aw dangit");
- caster::<Cursor, _>($f)(c) $($q)?;
+ if let Some(&c) = $cursor.inner.get(i) {
+ caster::<Cursor, _>($f)(c) $($q)?;
+ } else {
+ log::error!("for some reason the number of cursors has changed.");
+ }
}
$cursor.coalesce();
}