Safe Haskell | None |
---|
This module contains types shared between TokenUtils and Monad, and exists to break import cycles
- data TokenCache = TK {}
- data TreeId = TId !Int
- mainTid :: TreeId
- data Entry
- = Entry !ForestSpan ![PosToken]
- | Deleted !ForestSpan SimpPos
- data ForestLine = ForestLine {
- flSpanLengthChanged :: !Bool
- flTreeSelector :: !Int
- flInsertVersion :: !Int
- flLine :: !Int
- type ForestPos = (ForestLine, Int)
- type ForestSpan = (ForestPos, ForestPos)
The cache of trees comprising the manipulated tokens
data TokenCache Source
Identifies the tree carrying the main tokens, not any work in progress or deleted ones
Structure of each tree
An entry in the data structure for a particular srcspan.
Entry !ForestSpan ![PosToken] | The tokens for the SrcSpan if subtree is empty |
Deleted !ForestSpan SimpPos | The gap between this span end and the start of the next in the fringe of the tree. |
data ForestLine Source
ForestLine | |
|
type ForestPos = (ForestLine, Int)Source
type ForestSpan = (ForestPos, ForestPos)Source
Match a SrcSpan, using a ForestLine as the marker