module Language.Haskell.Refact.API
(
ParseResult
, VerboseLevel(..)
, RefactSettings(..)
, TargetModule
, RefactFlags(..)
, StateStorage(..)
, RefactGhc
, runRefactGhc
, getRefacSettings
, defaultSettings
, logSettings
, initGhcSession
, loadModuleGraphGhc
, ensureTargetLoaded
, canonicalizeGraph
, logm
, getModuleGhc
, parseSourceFileGhc
, activateModule
, getModuleDetails
, runRefacSession
, applyRefac
, refactDone
, ApplyRefacResult
, RefacSource(..)
, update
, fileNameToModName
, fileNameFromModSummary
, getModuleName
, clientModsAndFiles
, serverModsAndFiles
, fetchLinesFinal
, fetchOrigToks
, fetchToks
, getTypecheckedModule
, getRefactStreamModified
, getRefactInscopes
, getRefactRenamed
, putRefactRenamed
, getRefactParsed
, putParsedModule
, clearParsedModule
, getRefactFileName
, replaceToken
, putToksForSpan
, putDeclToksForSpan
, getToksForSpan
, getToksBeforeSpan
, putToksForPos
, addToksAfterSpan
, addToksAfterPos
, putDeclToksAfterSpan
, removeToksForSpan
, removeToksForPos
, syncDeclToLatestStash
, indentDeclAndToks
, drawTokenTree
, drawTokenTreeDetailed
, getTokenTree
, showLinesDebug
, getRefactDone
, setRefactDone
, clearRefactDone
, setStateStorage
, getStateStorage
, updateToks
, updateToksWithPos
, SimpPos,unmodified,modified
, simpPos0
, nullSrcSpan
, whiteSpaceTokens
, realSrcLocFromTok
, isWhite
, notWhite
, isWhiteSpace
, isWhiteSpaceOrIgnored
, isIgnored
, isIgnoredNonComment
,isComment ,isMultiLineComment
,isOpenSquareBracket,isCloseSquareBracket ,isIn ,isComma ,isBar --,isMinus,
,endsWithNewLn,startsWithNewLn,hasNewLn ,compressPreNewLns,compressEndNewLns
, lengthOfLastLine
, getToks
,replaceTokNoReAlign,deleteToks,doRmWhites
, srcLocs
, getSrcSpan, getAllSrcLocs
, getBiggestStartEndLoc
,extendForwards,extendBackwards
, startEndLocIncFowComment
, startEndLocIncComments, startEndLocIncComments'
, tokenise
, basicTokenise
, prettyprintPatList
, groupTokensByLine
, toksOnSameLine
, addLocInfo
, getLineOffset
, tokenCol
, tokenColEnd
, tokenRow
, tokenPos
, tokenPosEnd
, tokenSrcSpan
, tokenCon
, increaseSrcSpan
, getGhcLoc
, getGhcLocEnd
, getLocatedStart
, getLocatedEnd
, getStartEndLoc
, startEndLocGhc
, realSrcLocEndTok
, fileNameFromTok
, splitToks
, emptyList, nonEmptyList
, notWhiteSpace
, isDoubleColon
, isEmpty
, isWhereOrLet
, isWhere
, isLet
, isElse
, isThen
, isOf
, isDo
, getIndentOffset
, splitOnNewLn
, tokenLen
, newLnToken
, reSequenceToks
, mkToken
, mkZeroToken
, markToken
, isMarked
, addOffsetToToks
, matchTokenPos
, rmOffsetFromToks
, InScopes
, PosToken
, ghead
, glast
, gtail
, gfromJust
, inScopeInfo, isInScopeAndUnqualified, isInScopeAndUnqualifiedGhc, inScopeNames
, isExported, isExplicitlyExported, modIsExported
, isFieldName
, isClassName
, isInstanceName
,hsPNs
, hsBinds, replaceBinds, HsValBinds(..)
,isDeclaredIn
,hsFreeAndDeclaredPNsOld, hsFreeAndDeclaredNameStrings
,hsFreeAndDeclaredPNs
,hsFreeAndDeclaredGhc
,getDeclaredTypes
,getFvs, getFreeVars, getDeclaredVars
,hsVisiblePNs , hsVisibleNames
,hsFDsFromInside, hsFDNamesFromInside
,hsVisibleDs
,isVarId,isConId,isOperator,isTopLevelPN,isLocalPN,isNonLibraryName
,isQualifiedPN , isFunOrPatName ,isTypeSig
,isFunBindP,isFunBindR,isPatBindP,isPatBindR,isSimplePatBind
,isComplexPatBind,isFunOrPatBindP,isFunOrPatBindR
,usedWithoutQualR ,isUsedInRhs
,findPNT,findPN,findAllNameOccurences
,findPNs, findEntity, findEntity'
,sameOccurrence
, findIdForName
, getTypeForName
,defines, definesP,definesTypeSig
,sameBind
,UsedByRhs(..)
, isMainModule
, getModule
,defineLoc, useLoc, locToExp
,locToName, locToRdrName
,getName
,addDecl, addItemsToImport, addHiding
,addParamsToDecls, addActualParamsToRhs , addImportDecl, duplicateDecl
,rmDecl, rmTypeSig, rmTypeSigs
,rmQualifier,qualifyToplevelName,renamePN ,autoRenameLocalVar
, showEntities,showPNwithLoc
,defaultPN ,defaultName ,defaultExp
,ghcToPN,lghcToPN, expToName
,nameToString
,patToPNT ,pNtoPat
, definedPNs
, definingDeclsNames, definingDeclsNames', definingSigsNames
, definingTyClDeclsNames
, allNames
, mkRdrName,mkNewGhcName,mkNewName,mkNewToplevelName
, causeNameClashInExports
, removeOffset
, getDeclAndToks, getSigAndToks
, getToksForDecl, removeToksOffset
, getParsedForRenamedLPat
, getParsedForRenamedName
, getParsedForRenamedLocated
, stripLeadingSpaces
, everythingButStaged
, somethingStaged
, everythingStaged
, somewhereMStaged
, somewhereMStagedBu
, everywhereMStaged
, everywhereMStaged'
, everywhereStaged
, everywhereStaged'
, onelayerStaged
, listifyStaged
, checkItemRenamer
, full_tdTUGhc
, stop_tdTUGhc
, stop_tdTPGhc
, allTUGhc'
, once_tdTPGhc
, once_buTPGhc
, oneTPGhc
, allTUGhc
, checkItemStage'
, checkItemRenamer'
, zeverywhereStaged
, zopenStaged
, zsomewhereStaged
, transZ
, transZM
, zopenStaged'
, ztransformStagedM
, checkZipperStaged
, upUntil
, findAbove
, showGhc
, prettyprint
, prettyprint2
, ppType
, lexStringToTokens
, getDataConstructors
, setGhcContext
, Positioning(..)
, reIndentToks
, ghcSrcSpanToForestSpan
, gs2f,f2gs
, gs2ss,ss2gs
) where
import Language.Haskell.Refact.Utils.Binds
import Language.Haskell.Refact.Utils.GhcUtils
import Language.Haskell.Refact.Utils.GhcVersionSpecific
import Language.Haskell.Refact.Utils.LocUtils
import Language.Haskell.Refact.Utils.Monad
import Language.Haskell.Refact.Utils.MonadFunctions
import Language.Haskell.Refact.Utils.TokenUtils
import Language.Haskell.Refact.Utils.TypeSyn
import Language.Haskell.Refact.Utils.TypeUtils
import Language.Haskell.Refact.Utils.Utils
import Language.Haskell.TokenUtils.Types
import Language.Haskell.TokenUtils.TokenUtils
import Language.Haskell.TokenUtils.Utils
import Language.Haskell.TokenUtils.GHC.Layout