content: -- | 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.World
  import GhcMod.CabalHelper
  import GhcMod.FileMapping
  import GhcMod.PathsAndFiles
  
  -- | Obtaining the directory for ghc system libraries.
  ghcLibDir :: FilePath
  ghcLibDir = libdir
  