diffLines static method

List<DiffOp> diffLines(
  1. String oldText,
  2. String newText
)

Computes a minimal line-based edit script transforming oldText into newText, returned as merged DiffOps (equal, insert, delete).

Both inputs are split on \n before diffing, and adjacent ops of the same kind are merged so each DiffOp may span multiple lines.

Example:

final script = MyersDiffUtils.diffLines('a\nb\nc', 'a\nx\nc');
// equal('a\n'), delete('b\n'), insert('x\n'), equal('c')

Implementation

static List<DiffOp> diffLines(String oldText, String newText) {
  final List<String> a = _splitLines(oldText);
  final List<String> b = _splitLines(newText);
  final List<_Edit> raw = _myers(a: a, b: b);
  return _mergeOps(edits: raw, a: a, b: b);
}