Language.Haskell.Refact.Utils.TokenUtils

Creating

initTokenCache

mkTreeFromTokens

mkTreeFromSpanTokens

Operations at TokenCache level

putToksInCache

replaceTokenInCache

removeToksFromCache

getTreeFromCache

replaceTreeInCache

syncAstToLatestCache

Operations at Tree Entry level

getTokensFor

getTokensForNoIntros

getTokensBefore

replaceTokenForSrcSpan

updateTokensForSrcSpan

insertSrcSpan

removeSrcSpan

getSrcSpanFor

addNewSrcSpanAndToksAfter

addToksAfterSrcSpan

addDeclToksAfterSrcSpan

syncAST

indentDeclToks

data Positioning

Retrieving tokens

retrieveTokensFinal

retrieveTokensInterim

retrieveTokens'

Token Tree Selection

treeIdFromForestSpan

Token marking and re-alignment

reAlignMarked

Utility

posToSrcSpan

posToSrcSpanTok

fileNameFromTok

treeStartEnd

spanStartEnd

A token stream with last tokens first, and functions to manipulate it

data ReversedToks

reverseToks

unReverseToks

reversedToks

Internal, for testing

placeToksForSpan

limitPrevToks

reIndentToks

reAlignOneLine

reAlignToks

splitForestOnSpan

spanContains

containsStart

containsMiddle

containsEnd

doSplitTree

splitSubtree

splitSubToks

nonCommentSpan

invariantOk

invariant

showForest

showTree

showSrcSpan

showSrcSpanF

ghcSpanStartEnd

insertNodeAfter

retrievePrevLineToks

openZipperToNode

openZipperToSpan

forestSpanToSimpPos

forestSpanToGhcPos

ghcLineToForestLine

forestLineToGhcLine

forestSpanToSrcSpan

forestPosVersionSet

forestPosVersionNotSet

forestSpanLenChanged

forestSpanVersions

forestSpanVersionSet

forestSpanVersionNotSet

insertForestLineInSrcSpan

insertLenChangedInSrcSpan

insertVersionsInSrcSpan

srcSpanToForestSpan

nullSpan

nullPos

simpPosToForestSpan

srcPosToSimpPos

showForestSpan

deleteGapsToks

deleteGapsToks'

calcEndGap

stripForestLines

Based on Data.Tree

drawTreeEntry

drawTokenCache

drawTokenCacheDetailed

drawForestEntry

drawEntry