2013-08-26 18:28:21 +02:00
|
|
|
-- | Low level access to the ghc-mod library.
|
|
|
|
|
|
|
|
|
|
module Language.Haskell.GhcMod.Internal (
|
2013-09-16 09:56:08 +09:00
|
|
|
-- * Types
|
2014-04-28 21:43:24 +09:00
|
|
|
GHCOption
|
2013-09-16 09:56:08 +09:00
|
|
|
, Package
|
2014-04-24 12:17:50 +09:00
|
|
|
, PackageBaseName
|
|
|
|
|
, PackageVersion
|
|
|
|
|
, PackageId
|
2013-09-16 09:56:08 +09:00
|
|
|
, IncludeDir
|
2015-06-07 20:36:49 +02:00
|
|
|
, GmlT(..)
|
|
|
|
|
, MonadIO(..)
|
|
|
|
|
, GmEnv(..)
|
2014-09-18 10:05:47 +02:00
|
|
|
-- * Various Paths
|
2014-07-12 03:30:06 +02:00
|
|
|
, ghcLibDir
|
2014-09-18 10:05:47 +02:00
|
|
|
, ghcModExecutable
|
2014-04-28 13:52:28 +09:00
|
|
|
-- * Logging
|
2014-04-26 17:54:15 +09:00
|
|
|
, withLogger
|
2014-08-19 17:18:36 +09:00
|
|
|
, setNoWarningFlags
|
|
|
|
|
, setAllWarningFlags
|
2014-07-18 15:42:05 +09:00
|
|
|
-- * Environment, state and logging
|
|
|
|
|
, GhcModEnv(..)
|
|
|
|
|
, GhcModState
|
2014-07-22 19:45:48 +02:00
|
|
|
, CompilerMode(..)
|
|
|
|
|
, GhcModLog
|
2015-06-07 20:36:49 +02:00
|
|
|
, GmLog(..)
|
|
|
|
|
, GmLogLevel(..)
|
|
|
|
|
, gmSetLogLevel
|
2014-07-18 15:42:05 +09:00
|
|
|
-- * Monad utilities
|
|
|
|
|
, runGhcModT'
|
2014-08-28 11:54:01 +02:00
|
|
|
, hoistGhcModT
|
2015-06-07 20:36:49 +02:00
|
|
|
, runGmlT
|
|
|
|
|
, runGmlT'
|
|
|
|
|
, gmlGetSession
|
|
|
|
|
, gmlSetSession
|
|
|
|
|
, loadTargets
|
|
|
|
|
, cabalResolvedComponents
|
2014-07-18 15:42:05 +09:00
|
|
|
-- ** Accessing 'GhcModEnv' and 'GhcModState'
|
|
|
|
|
, options
|
|
|
|
|
, cradle
|
2014-07-22 19:45:48 +02:00
|
|
|
, getCompilerMode
|
|
|
|
|
, setCompilerMode
|
2015-08-18 10:54:55 +02:00
|
|
|
, targetGhcOptions
|
2014-07-18 15:42:05 +09:00
|
|
|
, withOptions
|
2014-09-18 10:05:47 +02:00
|
|
|
-- * 'GhcModError'
|
|
|
|
|
, gmeDoc
|
2014-09-23 17:34:09 +09:00
|
|
|
-- * World
|
|
|
|
|
, World
|
2014-09-23 21:28:03 +09:00
|
|
|
, getCurrentWorld
|
2014-11-01 22:02:47 +01:00
|
|
|
, didWorldChange
|
2015-06-07 20:36:49 +02:00
|
|
|
-- * Cabal Helper
|
|
|
|
|
, ModulePath(..)
|
|
|
|
|
, GmComponent(..)
|
|
|
|
|
, GmComponentType(..)
|
|
|
|
|
, GmModuleGraph(..)
|
2015-08-14 03:48:29 +02:00
|
|
|
, prepareCabalHelper
|
2015-08-14 05:57:33 +02:00
|
|
|
-- * Misc stuff
|
|
|
|
|
, GHandler(..)
|
|
|
|
|
, gcatches
|
2015-05-31 11:32:46 +03:00
|
|
|
-- * FileMapping
|
|
|
|
|
, module Language.Haskell.GhcMod.FileMapping
|
2013-08-26 18:28:21 +02:00
|
|
|
) where
|
|
|
|
|
|
2014-07-12 03:30:06 +02:00
|
|
|
import GHC.Paths (libdir)
|
|
|
|
|
|
2015-06-07 20:36:49 +02:00
|
|
|
import Language.Haskell.GhcMod.Target
|
2014-07-12 03:30:06 +02:00
|
|
|
import Language.Haskell.GhcMod.DynFlags
|
2014-09-18 10:05:47 +02:00
|
|
|
import Language.Haskell.GhcMod.Error
|
2014-04-28 21:47:08 +09:00
|
|
|
import Language.Haskell.GhcMod.Logger
|
2015-06-07 20:36:49 +02:00
|
|
|
import Language.Haskell.GhcMod.Logging
|
2014-07-18 15:42:05 +09:00
|
|
|
import Language.Haskell.GhcMod.Monad
|
2013-08-26 18:28:21 +02:00
|
|
|
import Language.Haskell.GhcMod.Types
|
2014-09-18 10:05:47 +02:00
|
|
|
import Language.Haskell.GhcMod.Utils
|
2014-11-01 22:02:47 +01:00
|
|
|
import Language.Haskell.GhcMod.World
|
2015-08-14 03:48:29 +02:00
|
|
|
import Language.Haskell.GhcMod.CabalHelper
|
2015-05-31 11:32:46 +03:00
|
|
|
import Language.Haskell.GhcMod.FileMapping
|
2014-07-12 03:30:06 +02:00
|
|
|
|
|
|
|
|
-- | Obtaining the directory for ghc system libraries.
|
|
|
|
|
ghcLibDir :: FilePath
|
|
|
|
|
ghcLibDir = libdir
|