Language.Haskell.GhcMod.Internal

ghc-mod-5.6.0.0: Happy Haskell Programming

Safe Haskell | None
Language | Haskell2010

Language.Haskell.GhcMod.Internal

Contents

- Types
- Various Paths
- Logging
- Environment, state and logging
- Monad utilities
  - Accessing `GhcModEnv` and `GhcModState`
- `GhcModError`
- World
- Cabal Helper
- Misc stuff
- FileMapping

Description

Low level access to the ghc-mod library.

Synopsis

- type GHCOption = String
- type IncludeDir = FilePath
- newtype GmlT m a = GmlT {
  - unGmlT :: GhcModT m a
  }
- class MonadIOC m => MonadIO m where
- class Monad m => GmEnv m where
- ghcLibDir :: FilePath
- ghcModExecutable :: IO FilePath
- withLogger :: (GmGhc m, GmEnv m, GmOut m, GmState m) => (DynFlags -> DynFlags) -> m a -> m (Either String (String, a))
- setNoWarningFlags :: DynFlags -> DynFlags
- setAllWarningFlags :: DynFlags -> DynFlags
- data GhcModEnv = GhcModEnv {
  - gmOptions :: Options
  - gmCradle :: Cradle
  }
- data GhcModState
- data GhcModLog
- class Monad m => GmLog m where
- data GmLogLevel
  - = GmSilent
  - | GmPanic
  - | GmException
  - | GmError
  - | GmWarning
  - | GmInfo
  - | GmDebug
  - | GmVomit
- gmSetLogLevel :: GmLog m => GmLogLevel -> m ()
- runGhcModT' :: IOish m => GhcModEnv -> GhcModState -> GhcModT m a -> GmOutT m (Either GhcModError (a, GhcModState), GhcModLog)
- hoistGhcModT :: IOish m => (Either GhcModError a, GhcModLog) -> GhcModT m a
- runGmlT :: IOish m => [Either FilePath ModuleName] -> GmlT m a -> GhcModT m a
- runGmlT' :: IOish m => [Either FilePath ModuleName] -> (forall gm. GhcMonad gm => DynFlags -> gm DynFlags) -> GmlT m a -> GhcModT m a
- gmlGetSession :: (MonadIO m, MonadBaseControl IO m) => GmlT m HscEnv
- gmlSetSession :: (MonadIO m, MonadBaseControl IO m) => HscEnv -> GmlT m ()
- loadTargets :: IOish m => [GHCOption] -> [FilePath] -> GmlT m ()
- cabalResolvedComponents :: IOish m => GhcModT m (Map ChComponentName (GmComponent GMCResolved (Set ModulePath)))
- options :: GmEnv m => m Options
- cradle :: GmEnv m => m Cradle
- targetGhcOptions :: forall m. IOish m => Cradle -> Set (Either FilePath ModuleName) -> GhcModT m [GHCOption]
- withOptions :: GmEnv m => (Options -> Options) -> m a -> m a
- gmeDoc :: GhcModError -> Doc
- data World
- getCurrentWorld :: IOish m => GhcModT m World
- didWorldChange :: IOish m => World -> GhcModT m Bool
- data ModulePath = ModulePath {
  - mpModule :: ModuleName
  - mpPath :: FilePath
  }
- data GmComponent t eps = GmComponent {
  - gmcHomeModuleGraph :: GmModuleGraph
  - gmcName :: ChComponentName
  - gmcGhcOpts :: [GHCOption]
  - gmcGhcPkgOpts :: [GHCOption]
  - gmcGhcSrcOpts :: [GHCOption]
  - gmcGhcLangOpts :: [GHCOption]
  - gmcRawEntrypoints :: ChEntrypoint
  - gmcEntrypoints :: eps
  - gmcSourceDirs :: [FilePath]
  }
- data GmComponentType
  - = GMCRaw
  - | GMCResolved
- data GmModuleGraph = GmModuleGraph {
  - gmgGraph :: Map ModulePath (Set ModulePath)
  }
- prepareCabalHelper :: (IOish m, GmEnv m, GmOut m, GmLog m) => m ()
- data GHandler m a = Exception e => GHandler (e -> m a)
- gcatches :: (MonadIO m, ExceptionMonad m) => m a -> [GHandler m a] -> m a
- module Language.Haskell.GhcMod.FileMapping

# Types

type GHCOption = String #

A single GHC command line option.

type IncludeDir = FilePath #

An include directory for modules.

newtype GmlT m a #

Constructors

GmlT |
Fields unGmlT :: GhcModT m a

Instances

MonadTrans GmlT # |
Methods lift :: Monad m => m a -> GmlT m a #
MonadTransControl GmlT # |
Associated Types type StT (GmlT :: (* -> *) -> * -> *) a :: * # Methods liftWith :: Monad m => (Run GmlT -> m a) -> GmlT m a # restoreT :: Monad m => m (StT GmlT a) -> GmlT m a #
MonadBaseControl IO m => MonadBase IO (GmlT m) # |
Methods liftBase :: IO α -> GmlT m α #
MonadBaseControl IO m => MonadBaseControl IO (GmlT m) # |
Associated Types type StM (GmlT m :: * -> *) a :: * # Methods liftBaseWith :: (RunInBase (GmlT m) IO -> IO a) -> GmlT m a # restoreM :: StM (GmlT m) a -> GmlT m a #
Monad m => MonadError GhcModError (GmlT m) # |
Methods throwError :: GhcModError -> GmlT m a # catchError :: GmlT m a -> (GhcModError -> GmlT m a) -> GmlT m a #
Monad m => Monad (GmlT m) # |
Methods (>>=) :: GmlT m a -> (a -> GmlT m b) -> GmlT m b # (>>) :: GmlT m a -> GmlT m b -> GmlT m b # return :: a -> GmlT m a # fail :: String -> GmlT m a #
Functor m => Functor (GmlT m) # |
Methods fmap :: (a -> b) -> GmlT m a -> GmlT m b # (<$) :: a -> GmlT m b -> GmlT m a #
Monad m => Applicative (GmlT m) # |
Methods pure :: a -> GmlT m a # (<*>) :: GmlT m (a -> b) -> GmlT m a -> GmlT m b # (*>) :: GmlT m a -> GmlT m b -> GmlT m b # (<*) :: GmlT m a -> GmlT m b -> GmlT m a #
Monad m => Alternative (GmlT m) # |
Methods empty :: GmlT m a # (<|>) :: GmlT m a -> GmlT m a -> GmlT m a # some :: GmlT m a -> GmlT m [a] # many :: GmlT m a -> GmlT m [a] #
Monad m => MonadPlus (GmlT m) # |
Methods mzero :: GmlT m a # mplus :: GmlT m a -> GmlT m a -> GmlT m a #
(Monad m, GmEnv (GhcModT m)) => GmEnv (GmlT m) # |
Methods gmeAsk :: GmlT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmlT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmlT m a -> GmlT m a #
(Monad m, GmLog (GhcModT m)) => GmLog (GmlT m) # |
Methods gmlJournal :: GhcModLog -> GmlT m () # gmlHistory :: GmlT m GhcModLog # gmlClear :: GmlT m () #
Monad m => GmOut (GmlT m) # |
Methods gmoAsk :: GmlT m GhcModOut #
(Monad m, GmState (GhcModT m)) => GmState (GmlT m) # |
Methods gmsGet :: GmlT m GhcModState # gmsPut :: GhcModState -> GmlT m () # gmsState :: (GhcModState -> (a, GhcModState)) -> GmlT m a #
type StT GmlT a # |
type StT GmlT a = StT GmT a
type StM (GmlT m) a # |
type StM (GmlT m) a = StM (GmT m) a

class MonadIOC m => MonadIO m where #

Minimal complete definition

liftIO

Methods

liftIO :: IO a -> m a #

class Monad m => GmEnv m where #

Minimal complete definition

(gmeAsk | gmeReader), gmeLocal

Methods

gmeAsk :: m GhcModEnv #

gmeReader :: (GhcModEnv -> a) -> m a #

gmeLocal :: (GhcModEnv -> GhcModEnv) -> m a -> m a #

Instances

(Monad m, GmEnv (GhcModT m)) => GmEnv (GmlT m) # |
Methods gmeAsk :: GmlT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmlT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmlT m a -> GmlT m a #
Monad m => GmEnv (GmT m) # |
Methods gmeAsk :: GmT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmT m a -> GmT m a #
GmEnv m => GmEnv (GmOutT m) # |
Methods gmeAsk :: GmOutT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmOutT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmOutT m a -> GmOutT m a #
GmEnv m => GmEnv (JournalT GhcModLog m) # |
Methods gmeAsk :: JournalT GhcModLog m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> JournalT GhcModLog m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> JournalT GhcModLog m a -> JournalT GhcModLog m a #
GmEnv m => GmEnv (ErrorT GhcModError m) # |
Methods gmeAsk :: ErrorT GhcModError m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> ErrorT GhcModError m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> ErrorT GhcModError m a -> ErrorT GhcModError m a #
GmEnv m => GmEnv (StateT s m) # |
Methods gmeAsk :: StateT s m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> StateT s m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> StateT s m a -> StateT s m a #

# Various Paths

ghcLibDir :: FilePath #

Obtaining the directory for ghc system libraries.

ghcModExecutable :: IO FilePath #

Returns the path to the currently running ghc-mod executable. With ghc<7.6 this is a guess but >=7.6 uses `getExecutablePath`.

# Logging

withLogger :: (GmGhc m, GmEnv m, GmOut m, GmState m) => (DynFlags -> DynFlags) -> m a -> m (Either String (String, a)) #

Logged messages are returned as `String`. Right is success and Left is failure.

setNoWarningFlags :: DynFlags -> DynFlags #

Set `DynFlags` equivalent to "-w:".

setAllWarningFlags :: DynFlags -> DynFlags #

Set `DynFlags` equivalent to "-Wall".

# Environment, state and logging

data GhcModEnv #

Constructors

GhcModEnv |
Fields gmOptions :: Options gmCradle :: Cradle

data GhcModState #

Instances

Monad m => GmState (StateT GhcModState m) # |
Methods gmsGet :: StateT GhcModState m GhcModState # gmsPut :: GhcModState -> StateT GhcModState m () # gmsState :: (GhcModState -> (a, GhcModState)) -> StateT GhcModState m a #

data GhcModLog #

Instances

Show GhcModLog # |
Methods showsPrec :: Int -> GhcModLog -> ShowS # show :: GhcModLog -> String # showList :: [GhcModLog] -> ShowS #
Monoid GhcModLog # |
Methods mempty :: GhcModLog # mappend :: GhcModLog -> GhcModLog -> GhcModLog # mconcat :: [GhcModLog] -> GhcModLog #
Monad m => MonadJournal GhcModLog (GmT m) # |
Methods journal :: GhcModLog -> GmT m () # history :: GmT m GhcModLog # clear :: GmT m () #
GmEnv m => GmEnv (JournalT GhcModLog m) # |
Methods gmeAsk :: JournalT GhcModLog m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> JournalT GhcModLog m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> JournalT GhcModLog m a -> JournalT GhcModLog m a #
Monad m => GmLog (JournalT GhcModLog m) # |
Methods gmlJournal :: GhcModLog -> JournalT GhcModLog m () # gmlHistory :: JournalT GhcModLog m GhcModLog # gmlClear :: JournalT GhcModLog m () #

class Monad m => GmLog m where #

Minimal complete definition

gmlJournal, gmlHistory, gmlClear

Methods

gmlJournal :: GhcModLog -> m () #

gmlHistory :: m GhcModLog #

gmlClear :: m () #

Instances

(Monad m, GmLog m) => GmLog (MaybeT m) # |
Methods gmlJournal :: GhcModLog -> MaybeT m () # gmlHistory :: MaybeT m GhcModLog # gmlClear :: MaybeT m () #
(Monad m, GmLog (GhcModT m)) => GmLog (GmlT m) # |
Methods gmlJournal :: GhcModLog -> GmlT m () # gmlHistory :: GmlT m GhcModLog # gmlClear :: GmlT m () #
Monad m => GmLog (GmT m) # |
Methods gmlJournal :: GhcModLog -> GmT m () # gmlHistory :: GmT m GhcModLog # gmlClear :: GmT m () #
GmLog m => GmLog (GmOutT m) # |
Methods gmlJournal :: GhcModLog -> GmOutT m () # gmlHistory :: GmOutT m GhcModLog # gmlClear :: GmOutT m () #
Monad m => GmLog (LogDiscardT m) # |
Methods gmlJournal :: GhcModLog -> LogDiscardT m () # gmlHistory :: LogDiscardT m GhcModLog # gmlClear :: LogDiscardT m () #
Monad m => GmLog (JournalT GhcModLog m) # |
Methods gmlJournal :: GhcModLog -> JournalT GhcModLog m () # gmlHistory :: JournalT GhcModLog m GhcModLog # gmlClear :: JournalT GhcModLog m () #
(Monad m, GmLog m, Error e) => GmLog (ErrorT e m) # |
Methods gmlJournal :: GhcModLog -> ErrorT e m () # gmlHistory :: ErrorT e m GhcModLog # gmlClear :: ErrorT e m () #
(Monad m, GmLog m) => GmLog (StateT s m) # |
Methods gmlJournal :: GhcModLog -> StateT s m () # gmlHistory :: StateT s m GhcModLog # gmlClear :: StateT s m () #
(Monad m, GmLog m) => GmLog (ReaderT * r m) # |
Methods gmlJournal :: GhcModLog -> ReaderT * r m () # gmlHistory :: ReaderT * r m GhcModLog # gmlClear :: ReaderT * r m () #

data GmLogLevel #

Constructors

GmSilent |
GmPanic |
GmException |
GmError |
GmWarning |
GmInfo |
GmDebug |
GmVomit |

Instances

Bounded GmLogLevel # |
Methods minBound :: GmLogLevel # maxBound :: GmLogLevel #
Enum GmLogLevel # |
Methods succ :: GmLogLevel -> GmLogLevel # pred :: GmLogLevel -> GmLogLevel # toEnum :: Int -> GmLogLevel # fromEnum :: GmLogLevel -> Int # enumFrom :: GmLogLevel -> [GmLogLevel] # enumFromThen :: GmLogLevel -> GmLogLevel -> [GmLogLevel] # enumFromTo :: GmLogLevel -> GmLogLevel -> [GmLogLevel] # enumFromThenTo :: GmLogLevel -> GmLogLevel -> GmLogLevel -> [GmLogLevel] #
Eq GmLogLevel # |
Methods (==) :: GmLogLevel -> GmLogLevel -> Bool # (/=) :: GmLogLevel -> GmLogLevel -> Bool #
Ord GmLogLevel # |
Methods compare :: GmLogLevel -> GmLogLevel -> Ordering # (<) :: GmLogLevel -> GmLogLevel -> Bool # (<=) :: GmLogLevel -> GmLogLevel -> Bool # (>) :: GmLogLevel -> GmLogLevel -> Bool # (>=) :: GmLogLevel -> GmLogLevel -> Bool # max :: GmLogLevel -> GmLogLevel -> GmLogLevel # min :: GmLogLevel -> GmLogLevel -> GmLogLevel #
Read GmLogLevel # |
Methods readsPrec :: Int -> ReadS GmLogLevel # readList :: ReadS [GmLogLevel] # readPrec :: ReadPrec GmLogLevel # readListPrec :: ReadPrec [GmLogLevel] #
Show GmLogLevel # |
Methods showsPrec :: Int -> GmLogLevel -> ShowS # show :: GmLogLevel -> String # showList :: [GmLogLevel] -> ShowS #

gmSetLogLevel :: GmLog m => GmLogLevel -> m () #

# Monad utilities

runGhcModT' :: IOish m => GhcModEnv -> GhcModState -> GhcModT m a -> GmOutT m (Either GhcModError (a, GhcModState), GhcModLog) #

Run a computation inside `GhcModT` providing the RWST environment and initial state. This is a low level function, use it only if you know what to do with `GhcModEnv` and `GhcModState`.

You should probably look at `runGhcModT` instead.

hoistGhcModT :: IOish m => (Either GhcModError a, GhcModLog) -> GhcModT m a #

`hoistGhcModT result`. Embed a GhcModT computation's result into a GhcModT computation. Note that if the computation that returned `result` modified the state part of GhcModT this cannot be restored.

runGmlT :: IOish m => [Either FilePath ModuleName] -> GmlT m a -> GhcModT m a #

Run a GmlT action (i.e. a function in the GhcMonad) in the context of certain files or modules

runGmlT' :: IOish m => [Either FilePath ModuleName] -> (forall gm. GhcMonad gm => DynFlags -> gm DynFlags) -> GmlT m a -> GhcModT m a #

Run a GmlT action (i.e. a function in the GhcMonad) in the context of certain files or modules, with updated GHC flags

gmlGetSession :: (MonadIO m, MonadBaseControl IO m) => GmlT m HscEnv #

Get the underlying GHC session

gmlSetSession :: (MonadIO m, MonadBaseControl IO m) => HscEnv -> GmlT m () #

Set the underlying GHC session

loadTargets :: IOish m => [GHCOption] -> [FilePath] -> GmlT m () #

Set the files as targets and load them.

cabalResolvedComponents :: IOish m => GhcModT m (Map ChComponentName (GmComponent GMCResolved (Set ModulePath))) #

## Accessing `GhcModEnv` and `GhcModState`

options :: GmEnv m => m Options #

cradle :: GmEnv m => m Cradle #

targetGhcOptions :: forall m. IOish m => Cradle -> Set (Either FilePath ModuleName) -> GhcModT m [GHCOption] #

withOptions :: GmEnv m => (Options -> Options) -> m a -> m a #

# `GhcModError`

gmeDoc :: GhcModError -> Doc #

# World

data World #

Instances

Eq World # |
Methods (==) :: World -> World -> Bool # (/=) :: World -> World -> Bool #

getCurrentWorld :: IOish m => GhcModT m World #

didWorldChange :: IOish m => World -> GhcModT m Bool #

# Cabal Helper

data ModulePath #

Constructors

ModulePath |
Fields mpModule :: ModuleName mpPath :: FilePath

Instances

Eq ModulePath # |
Methods (==) :: ModulePath -> ModulePath -> Bool # (/=) :: ModulePath -> ModulePath -> Bool #
Ord ModulePath # |
Methods compare :: ModulePath -> ModulePath -> Ordering # (<) :: ModulePath -> ModulePath -> Bool # (<=) :: ModulePath -> ModulePath -> Bool # (>) :: ModulePath -> ModulePath -> Bool # (>=) :: ModulePath -> ModulePath -> Bool # max :: ModulePath -> ModulePath -> ModulePath # min :: ModulePath -> ModulePath -> ModulePath #
Read ModulePath # |
Methods readsPrec :: Int -> ReadS ModulePath # readList :: ReadS [ModulePath] # readPrec :: ReadPrec ModulePath # readListPrec :: ReadPrec [ModulePath] #
Show ModulePath # |
Methods showsPrec :: Int -> ModulePath -> ShowS # show :: ModulePath -> String # showList :: [ModulePath] -> ShowS #
Generic ModulePath # |
Associated Types type Rep ModulePath :: * -> * # Methods from :: ModulePath -> Rep ModulePath x # to :: Rep ModulePath x -> ModulePath #
Binary ModulePath # |
Methods put :: ModulePath -> Put # get :: Get ModulePath # putList :: [ModulePath] -> Put #
type Rep ModulePath # |
type Rep ModulePath = D1 (MetaData "ModulePath" "Language.Haskell.GhcMod.Types" "ghc-mod-5.6.0.0-3hnVvvX6z805aFKL1S2QmL" False) (C1 (MetaCons "ModulePath" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "mpModule") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ModuleName)) (S1 (MetaSel (Just Symbol "mpPath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath))))

data GmComponent t eps #

Constructors

GmComponent |
Fields gmcHomeModuleGraph :: GmModuleGraph gmcName :: ChComponentName gmcGhcOpts :: [GHCOption] gmcGhcPkgOpts :: [GHCOption] gmcGhcSrcOpts :: [GHCOption] gmcGhcLangOpts :: [GHCOption] gmcRawEntrypoints :: ChEntrypoint gmcEntrypoints :: eps gmcSourceDirs :: [FilePath]

Instances

Functor (GmComponent t) # |
Methods fmap :: (a -> b) -> GmComponent t a -> GmComponent t b # (<$) :: a -> GmComponent t b -> GmComponent t a #
Eq eps => Eq (GmComponent t eps) # |
Methods (==) :: GmComponent t eps -> GmComponent t eps -> Bool # (/=) :: GmComponent t eps -> GmComponent t eps -> Bool #
Ord eps => Ord (GmComponent t eps) # |
Methods compare :: GmComponent t eps -> GmComponent t eps -> Ordering # (<) :: GmComponent t eps -> GmComponent t eps -> Bool # (<=) :: GmComponent t eps -> GmComponent t eps -> Bool # (>) :: GmComponent t eps -> GmComponent t eps -> Bool # (>=) :: GmComponent t eps -> GmComponent t eps -> Bool # max :: GmComponent t eps -> GmComponent t eps -> GmComponent t eps # min :: GmComponent t eps -> GmComponent t eps -> GmComponent t eps #
Read eps => Read (GmComponent t eps) # |
Methods readsPrec :: Int -> ReadS (GmComponent t eps) # readList :: ReadS [GmComponent t eps] # readPrec :: ReadPrec (GmComponent t eps) # readListPrec :: ReadPrec [GmComponent t eps] #
Show eps => Show (GmComponent t eps) # |
Methods showsPrec :: Int -> GmComponent t eps -> ShowS # show :: GmComponent t eps -> String # showList :: [GmComponent t eps] -> ShowS #
Generic (GmComponent t eps) # |
Associated Types type Rep (GmComponent t eps) :: * -> * # Methods from :: GmComponent t eps -> Rep (GmComponent t eps) x # to :: Rep (GmComponent t eps) x -> GmComponent t eps #
Binary eps => Binary (GmComponent t eps) # |
Methods put :: GmComponent t eps -> Put # get :: Get (GmComponent t eps) # putList :: [GmComponent t eps] -> Put #
type Rep (GmComponent t eps) # |
type Rep (GmComponent t eps) = D1 (MetaData "GmComponent" "Language.Haskell.GhcMod.Types" "ghc-mod-5.6.0.0-3hnVvvX6z805aFKL1S2QmL" False) (C1 (MetaCons "GmComponent" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "gmcHomeModuleGraph") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 GmModuleGraph)) (S1 (MetaSel (Just Symbol "gmcName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ChComponentName))) ((:*:) (S1 (MetaSel (Just Symbol "gmcGhcOpts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [GHCOption])) (S1 (MetaSel (Just Symbol "gmcGhcPkgOpts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [GHCOption])))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "gmcGhcSrcOpts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [GHCOption])) (S1 (MetaSel (Just Symbol "gmcGhcLangOpts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [GHCOption]))) ((:*:) (S1 (MetaSel (Just Symbol "gmcRawEntrypoints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ChEntrypoint)) ((:*:) (S1 (MetaSel (Just Symbol "gmcEntrypoints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 eps)) (S1 (MetaSel (Just Symbol "gmcSourceDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath])))))))

data GmComponentType #

Constructors

GMCRaw |
GMCResolved |

data GmModuleGraph #

Constructors

GmModuleGraph |
Fields gmgGraph :: Map ModulePath (Set ModulePath)

Instances

Eq GmModuleGraph # |
Methods (==) :: GmModuleGraph -> GmModuleGraph -> Bool # (/=) :: GmModuleGraph -> GmModuleGraph -> Bool #
Ord GmModuleGraph # |
Methods compare :: GmModuleGraph -> GmModuleGraph -> Ordering # (<) :: GmModuleGraph -> GmModuleGraph -> Bool # (<=) :: GmModuleGraph -> GmModuleGraph -> Bool # (>) :: GmModuleGraph -> GmModuleGraph -> Bool # (>=) :: GmModuleGraph -> GmModuleGraph -> Bool # max :: GmModuleGraph -> GmModuleGraph -> GmModuleGraph # min :: GmModuleGraph -> GmModuleGraph -> GmModuleGraph #
Read GmModuleGraph # |
Methods readsPrec :: Int -> ReadS GmModuleGraph # readList :: ReadS [GmModuleGraph] # readPrec :: ReadPrec GmModuleGraph # readListPrec :: ReadPrec [GmModuleGraph] #
Show GmModuleGraph # |
Methods showsPrec :: Int -> GmModuleGraph -> ShowS # show :: GmModuleGraph -> String # showList :: [GmModuleGraph] -> ShowS #
Generic GmModuleGraph # |
Associated Types type Rep GmModuleGraph :: * -> * # Methods from :: GmModuleGraph -> Rep GmModuleGraph x # to :: Rep GmModuleGraph x -> GmModuleGraph #
Monoid GmModuleGraph # |
Methods mempty :: GmModuleGraph # mappend :: GmModuleGraph -> GmModuleGraph -> GmModuleGraph # mconcat :: [GmModuleGraph] -> GmModuleGraph #
Binary GmModuleGraph # |
Methods put :: GmModuleGraph -> Put # get :: Get GmModuleGraph # putList :: [GmModuleGraph] -> Put #
type Rep GmModuleGraph # |
type Rep GmModuleGraph = D1 (MetaData "GmModuleGraph" "Language.Haskell.GhcMod.Types" "ghc-mod-5.6.0.0-3hnVvvX6z805aFKL1S2QmL" False) (C1 (MetaCons "GmModuleGraph" PrefixI True) (S1 (MetaSel (Just Symbol "gmgGraph") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map ModulePath (Set ModulePath)))))

prepareCabalHelper :: (IOish m, GmEnv m, GmOut m, GmLog m) => m () #

# Misc stuff

data GHandler m a #

Constructors

Exception e => GHandler (e -> m a) |

gcatches :: (MonadIO m, ExceptionMonad m) => m a -> [GHandler m a] -> m a #

# FileMapping

module Language.Haskell.GhcMod.FileMapping