Apply multiple edits to the buffer efficiently using GTK buffer operations.
Uses GTK TextBuffer's text manipulation for efficient chunk editing. Applies edits in reverse order (from end to start) to preserve line numbers.
2. Apply changes in reverse order (from end to start) to preserve line numbers
3. For each change: calls apply_edit()
4. Sync buffer to file (creates backup, writes, updates metadata)
Changes must be sorted descending by start line before calling.
| changes |
List of FileChange objects to apply (must be sorted descending by start) |
| Error |
if edits cannot be applied |