yi- The Haskell-Scriptable Editor



The Buffer module defines monadic editing operations over one-dimensional buffers, maintaining a current point.

This module acts as a Facade for the Buffer.* modules.



data Update Source

Mutation actions (also used the undo or redo list)

For the undoredo, we use the partial checkpoint/ (Berlage, pg16) strategy to store just the components of the state that change.

Note that the update direction is only a hint for moving the cursor (mainly for undo purposes); the insertions and deletions are always applied Forward.