use crate::metis::Dot;
use super::editor::Replica;
mod cursors;
mod gc;
mod text;
mod wire;
fn type_run(replica: &mut Replica, text: &str, mut anchor: Option<Dot>) -> Option<Dot> {
for ch in text.chars() {
let dot = replica.insert(ch, anchor);
anchor = Some(dot);
}
anchor
}
fn split_two(replicas: &mut [Replica], from: usize, into: usize) -> (&Replica, &mut Replica) {
assert_ne!(from, into);
if from < into {
let (left, right) = replicas.split_at_mut(into);
(&left[from], &mut right[0])
} else {
let (left, right) = replicas.split_at_mut(from);
(&right[0], &mut left[into])
}
}