Changes are first-class values in ProseMirror. You can hold on to
them, and do things with them. Such
them across other changes, inverting them, or inspecting them to see
what they did.
This demo uses those properties to allow you to “commit” your
changes, to revert individual commits, and to find out which commit a
piece of text originates from.
Note that, due to the implicit conflict resolution when moving
changes across each other, outcomes of complicated reverts aren't
Hover over commits to highlight the text they introduced.
The source code for this example can be found on github.