Fix line style loss on new line from non string (#1157)

pull/1158/head
Lin Zhang 2 years ago committed by GitHub
parent 95b8f24a8d
commit 9b146f3fbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      lib/src/models/rules/insert.dart

@ -35,20 +35,20 @@ class PreserveLineStyleOnSplitRule extends InsertRule {
final itr = DeltaIterator(document);
final before = itr.skip(index);
if (before == null ||
before.data is! String ||
(before.data as String).endsWith('\n')) {
if (before == null) {
return null;
}
final after = itr.next();
if (after.data is! String || (after.data as String).startsWith('\n')) {
if (before.data is String && (before.data as String).endsWith('\n')) {
return null;
}
final text = after.data as String;
final after = itr.next();
if (after.data is String && (after.data as String).startsWith('\n')) {
return null;
}
final delta = Delta()..retain(index + (len ?? 0));
if (text.contains('\n')) {
if (after.data is String && (after.data as String).contains('\n')) {
assert(after.isPlain);
delta.insert('\n');
return delta;

Loading…
Cancel
Save