| 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