diff --git a/lib/src/models/rules/format.dart b/lib/src/models/rules/format.dart
index 3c23b15f..d757e92d 100644
--- a/lib/src/models/rules/format.dart
+++ b/lib/src/models/rules/format.dart
@@ -30,13 +30,14 @@ class ResolveLineFormatRule extends FormatRule {
 
     // Apply line styles to all newline characters within range of this
     // retain operation.
-    var delta = Delta()..retain(index);
+    var result = Delta()..retain(index);
     final itr = DeltaIterator(document)..skip(index);
     Operation op;
     for (var cur = 0; cur < len! && itr.hasNext; cur += op.length!) {
       op = itr.next(len - cur);
-      if (op.data is! String || !(op.data as String).contains('\n')) {
-        delta.retain(op.length!);
+      final opText = op.data is String ? op.data as String : '';
+      if (!opText.contains('\n')) {
+        result.retain(op.length!);
         continue;
       }
       final text = op.data as String;
@@ -54,7 +55,7 @@ class ResolveLineFormatRule extends FormatRule {
         offset = lineBreak + 1;
       }
       tmp.retain(text.length - offset);
-      delta = delta.concat(tmp);
+      result = result.concat(tmp);
     }
 
     while (itr.hasNext) {
@@ -62,17 +63,17 @@ class ResolveLineFormatRule extends FormatRule {
       final text = op.data is String ? (op.data as String?)! : '';
       final lineBreak = text.indexOf('\n');
       if (lineBreak < 0) {
-        delta.retain(op.length!);
+        result.retain(op.length!);
         continue;
       }
 
       final removedBlocks = _getRemovedBlocks(attribute, op);
-      delta
+      result
         ..retain(lineBreak)
         ..retain(1, attribute.toJson()..addEntries(removedBlocks));
       break;
     }
-    return delta;
+    return result;
   }
 
   Iterable<MapEntry<String, dynamic>> _getRemovedBlocks(