Things needed: - [ ] - Which action to use to apply the patch - [ ] - Currently, `diff.apply` gives the whole file back, and setting this to the buffer, breaks undo. - [ ] - The cursor after the patch is applied is not the same as before