Safe Haskell | None |
---|---|
Language | Haskell2010 |
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.
- module Yi.Buffer.Basic
- module Yi.Buffer.HighLevel
- module Yi.Buffer.Indent
- module Yi.Buffer.Misc
- module Yi.Buffer.Normal
- module Yi.Buffer.Region
- module Yi.Buffer.TextUnit
- module Yi.Buffer.Undo
- data UIUpdate
- = TextUpdate !Update
- | StyleUpdate !Point !Size
- data Update
- = Insert {
- updatePoint :: !Point
- updateDirection :: !Direction
- insertUpdateString :: !Rope
- | Delete {
- updatePoint :: !Point
- updateDirection :: !Direction
- deleteUpdateString :: !Rope
- = Insert {
- updateIsDelete :: Update -> Bool
Documentation
module Yi.Buffer.Basic
module Yi.Buffer.HighLevel
module Yi.Buffer.Indent
module Yi.Buffer.Misc
module Yi.Buffer.Normal
module Yi.Buffer.Region
module Yi.Buffer.TextUnit
module Yi.Buffer.Undo
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.
Insert | |
| |
Delete | |
|
updateIsDelete :: Update -> Bool Source