splitFragment static method
Splits fragment at offset: returns (left, right).
The original fragment is mutated (becomes the left part).
The right part is a new Fragment with the same style (cloneFragment).
The caller is responsible for inserting right in the container.
Implementation
static ({Fragment left, Fragment right}) splitFragment(
Fragment fragment, int offset) {
assert(offset >= 0 && offset <= fragment.text.length);
final leftText = fragment.text.substring(0, offset);
final rightText = fragment.text.substring(offset);
fragment.text = leftText;
final right = cloneFragment(fragment);
right.text = rightText;
return (left: fragment, right: right);
}