deleteTextInFragment static method
Deletes count characters from fragment starting from offset.
Returns false if the range is invalid.
Optimised edge cases avoid temp substring allocations.
Implementation
static bool deleteTextInFragment(Fragment fragment, int offset, {int count = 1}) {
if (offset < 0 || offset + count > fragment.text.length) return false;
if (count <= 0) return true;
if (count == fragment.text.length) {
fragment.text = '';
} else if (offset == 0) {
fragment.text = fragment.text.substring(count);
} else if (offset + count == fragment.text.length) {
fragment.text = fragment.text.substring(0, offset);
} else {
fragment.text =
fragment.text.substring(0, offset) + fragment.text.substring(offset + count);
}
return true;
}