| License | GPL-2 |
|---|---|
| Maintainer | yi-devel@googlegroups.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
| Extensions | NondecreasingIndentation |
Yi.Buffer
Description
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
- updateIsDelete :: Update -> Bool
- markGravityAA :: Lens' MarkValue Direction
- markPointAA :: Lens' MarkValue Point
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
Constructors
| TextUpdate !Update | |
| StyleUpdate !Point !Size |
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.
Constructors
| Insert | |
Fields
| |
| Delete | |
Fields
| |
updateIsDelete :: Update -> Bool Source