mergeText method
void
mergeText(
- Node left,
- Node right, {
- int? leftOffset,
- int rightOffset = 0,
})
Implementation
void mergeText(
Node left,
Node right, {
int? leftOffset,
int rightOffset = 0,
}) {
final leftDelta = left.delta;
final rightDelta = right.delta;
if (leftDelta == null || rightDelta == null) {
return;
}
final leftLength = leftDelta.length;
final rightLength = rightDelta.length;
leftOffset ??= leftLength;
final merge = Delta()
..retain(leftOffset)
..delete(leftLength - leftOffset)
..addAll(rightDelta.slice(rightOffset, rightLength));
addDeltaToComposeMap(left, merge);
afterSelection = Selection.collapsed(
Position(
path: left.path,
offset: leftOffset,
),
);
}