format method
EasyTextChange
format(
- EasyAttributeStyles style, [
- bool overrideStylesIfEmpty = false,
- bool ignoreMerge = false
Implementation
EasyTextChange format(
EasyAttributeStyles style, [
bool overrideStylesIfEmpty = false,
bool ignoreMerge = false,
]) {
final EasyAttributeStyles oldStyles =
// we prefer just avoid making deep clones when no required
!overrideStylesIfEmpty ? EasyAttributeStyles.empty() : style.deepClone;
overrideStylesIfEmpty && style.isEmpty
? styles.clearAll()
: applyStyle(style);
if (!ignoreMerge) tryMerge();
if (overrideStylesIfEmpty && style.isEmpty) {
return EasyTextChange(
start: 0,
length: length,
delta: Delta()..retain(length, oldStyles.invert().toJson()),
inverted: Delta()..retain(length, oldStyles.toJson()),
);
}
return EasyTextChange(
start: 0,
length: length,
delta: Delta()..retain(length, style.toJson()),
inverted: Delta()..retain(length, style.invert().toJson()),
);
}