ghc-mod/GhcMod/Exe/Internal.hs

74 lines
1.4 KiB
Haskell

-- | Low level access to the ghc-mod library.
module GhcMod.Exe.Internal (
-- * Types
GHCOption
, IncludeDir
, GmlT(..)
, MonadIO(..)
, GmEnv(..)
-- * Various Paths
, ghcLibDir
, ghcModExecutable
-- * Logging
, withLogger
, setNoWarningFlags
, setAllWarningFlags
-- * Environment, state and logging
, GhcModEnv(..)
, GhcModState
, GhcModLog
, GmLog(..)
, GmLogLevel(..)
, gmSetLogLevel
-- * Monad utilities
, runGhcModT'
, hoistGhcModT
, runGmlT
, runGmlT'
, gmlGetSession
, gmlSetSession
, loadTargets
, cabalResolvedComponents
-- ** Accessing 'GhcModEnv' and 'GhcModState'
, options
, cradle
, targetGhcOptions
, withOptions
-- * 'GhcModError'
, gmeDoc
-- * World
, World
, getCurrentWorld
, didWorldChange
-- * Cabal Helper
, ModulePath(..)
, GmComponent(..)
, GmComponentType(..)
, GmModuleGraph(..)
, prepareCabalHelper
-- * Misc stuff
, GHandler(..)
, gcatches
-- * FileMapping
, module GhcMod.FileMapping
) where
import GHC.Paths (libdir)
import GhcMod.Target
import GhcMod.DynFlags
import GhcMod.Error
import GhcMod.Logger
import GhcMod.Logging
import GhcMod.Monad
import GhcMod.Types
import GhcMod.Utils
import GhcMod.World
import GhcMod.CabalHelper
import GhcMod.FileMapping
-- | Obtaining the directory for ghc system libraries.
ghcLibDir :: FilePath
ghcLibDir = libdir