skipAtoms function
Skip atomic ranges for a single position movement.
Implementation
SelectionRange skipAtoms(
dynamic view,
SelectionRange oldPos,
SelectionRange pos,
) {
final state = view.state as EditorState;
final atoms = state.facet(atomicRanges).map((f) => f(view)).toList();
final newPos = skipAtomicRanges(atoms, pos.from, oldPos.head > pos.from ? -1 : 1);
return newPos == pos.from ? pos : EditorSelection.cursor(newPos, assoc: newPos < pos.from ? 1 : -1);
}