void CodeDocument::applyChanges (const String& newContent) { TextDiff diff (getAllContent(), newContent); for (int i = 0; i < diff.changes.size(); ++i) { const TextDiff::Change& c = diff.changes.getReference(i); if (c.isDeletion()) remove (c.start, c.start + c.length, true); else insert (c.insertedText, c.start, true); } }
void CodeDocument::applyChanges (const String& newContent) { const String corrected (StringArray::fromLines (newContent) .joinIntoString (newLineChars)); TextDiff diff (getAllContent(), corrected); for (auto& c : diff.changes) { if (c.isDeletion()) remove (c.start, c.start + c.length, true); else insert (c.insertedText, c.start, true); } }
void CodeDocument::applyChanges (const String& newContent) { const String corrected (StringArray::fromLines (newContent) .joinIntoString (newLineChars)); TextDiff diff (getAllContent(), corrected); for (int i = 0; i < diff.changes.size(); ++i) { const TextDiff::Change& c = diff.changes.getReference(i); if (c.isDeletion()) remove (c.start, c.start + c.length, true); else insert (c.insertedText, c.start, true); } }