ghc-mod-5.7.0.0: Happy Haskell Programming

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.GhcMod.Types

Contents

Synopsis

Documentation

type IOish m = (Functor m, MonadIO m, MonadBaseControl IO m, ExceptionMonad m) #

A constraint alias (-XConstraintKinds) to make functions dealing with GhcModT somewhat cleaner.

Basicially an IOish m => m is a Monad supporting arbitrary IO and exception handling. Usually this will simply be IO but we parametrise it in the exported API so users have the option to use a custom inner monad.

type MonadIOC m = MonadIO m #

class MonadIOC m => MonadIO m where #

Minimal complete definition

liftIO

Methods

liftIO :: IO a -> m a #

data OutputStyle #

Output style.

Constructors

LispStyle

S expression style.

PlainStyle

Plain textstyle.

newtype LineSeparator #

The type for line separator. Historically, a Null string is used.

Constructors

LineSeparator String 

data Programs #

Constructors

Programs 

Fields

Instances

data OutputOpts #

Constructors

OutputOpts 

Fields

data Options #

Constructors

Options 

Fields

Instances

data Cradle #

The environment where this library is used.

Constructors

Cradle 

Fields

Instances

data GmStream #

Constructors

GmOutStream 
GmErrStream 

Instances

data GhcModEnv #

Constructors

GhcModEnv 

data GhcModOut #

Constructors

GhcModOut 

data GmGhcSession #

Constructors

GmGhcSession 

data GhcPkgDb #

GHC package database flags.

Instances

Eq GhcPkgDb # 
Show GhcPkgDb # 
Generic GhcPkgDb # 

Associated Types

type Rep GhcPkgDb :: * -> * #

Methods

from :: GhcPkgDb -> Rep GhcPkgDb x #

to :: Rep GhcPkgDb x -> GhcPkgDb #

Binary GhcPkgDb # 

Methods

put :: GhcPkgDb -> Put #

get :: Get GhcPkgDb #

putList :: [GhcPkgDb] -> Put #

type Rep GhcPkgDb # 
type Rep GhcPkgDb = D1 (MetaData "GhcPkgDb" "Language.Haskell.GhcMod.Types" "ghc-mod-5.7.0.0-AmR0eFYvRX77u7BIsdmUz0" False) ((:+:) (C1 (MetaCons "GlobalDb" PrefixI False) U1) ((:+:) (C1 (MetaCons "UserDb" PrefixI False) U1) (C1 (MetaCons "PackageDb" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))))

type GHCOption = String #

A single GHC command line option.

type IncludeDir = FilePath #

An include directory for modules.

data GmModuleGraph #

Instances

Eq GmModuleGraph # 
Ord GmModuleGraph # 
Read GmModuleGraph # 
Show GmModuleGraph # 
Generic GmModuleGraph # 

Associated Types

type Rep GmModuleGraph :: * -> * #

Monoid GmModuleGraph # 
Binary GmModuleGraph # 
type Rep GmModuleGraph # 
type Rep GmModuleGraph = D1 (MetaData "GmModuleGraph" "Language.Haskell.GhcMod.Types" "ghc-mod-5.7.0.0-AmR0eFYvRX77u7BIsdmUz0" False) (C1 (MetaCons "GmModuleGraph" PrefixI True) (S1 (MetaSel (Just Symbol "gmgGraph") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map ModulePath (Set ModulePath)))))

data GmComponentType #

Constructors

GMCRaw 
GMCResolved 

data GmComponent t eps #

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) # 
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) # 

data ModulePath #

Constructors

ModulePath 

data GhcModError #

Constructors

GMENoMsg

Unknown error

GMEString String

Some Error with a message. These are produced mostly by fail calls on GhcModT.

GMECabalConfigure GhcModError

Configuring a cabal project failed.

GMEStackConfigure GhcModError

Configuring a stack project failed.

GMEStackBootstrap GhcModError

Bootstrapping stack environment failed (process exited with failure)

GMECabalCompAssignment [(Either FilePath ModuleName, Set ChComponentName)]

Could not find a consistent component assignment for modules

GMEProcess String String [String] (Either Int GhcModError)

Launching an operating system process failed. Fields in order: function, command, arguments, (stdout, stderr, exitcode)

GMENoCabalFile

No cabal file found.

GMETooManyCabalFiles [FilePath]

Too many cabal files found.

data LintOpts #

Options for "lintWith" function

Constructors

LintOpts 

Fields

Instances

defaultLintOpts :: LintOpts #

Default LintOpts instance

data BrowseOpts #

Options for "browseWith" function

Constructors

BrowseOpts 

Fields

lOptPrograms :: forall cat. ArrowApply cat => Lens cat Options Programs #

lOptOutput :: forall cat. ArrowApply cat => Lens cat Options OutputOpts #

lOptGhcUserOptions :: forall cat. ArrowApply cat => Lens cat Options [GHCOption] #

lOptEncoding :: forall cat. ArrowApply cat => Lens cat Options String #

lOoptStyle :: forall cat. ArrowApply cat => Lens cat OutputOpts OutputStyle #

lOoptLinePrefix :: forall cat. ArrowApply cat => Lens cat OutputOpts (Maybe (String, String)) #

lStackProgram :: forall cat. ArrowApply cat => Lens cat Programs FilePath #

lGhcProgram :: forall cat. ArrowApply cat => Lens cat Programs FilePath #

lGhcPkgProgram :: forall cat. ArrowApply cat => Lens cat Programs FilePath #

lCabalProgram :: forall cat. ArrowApply cat => Lens cat Programs FilePath #

data ModuleName :: * #

A ModuleName is essentially a simple string, e.g. Data.List.

Instances

Eq ModuleName 
Data ModuleName 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleName -> c ModuleName #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleName #

toConstr :: ModuleName -> Constr #

dataTypeOf :: ModuleName -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ModuleName) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleName) #

gmapT :: (forall b. Data b => b -> b) -> ModuleName -> ModuleName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName -> r #

gmapQ :: (forall d. Data d => d -> u) -> ModuleName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName #

Ord ModuleName 
Binary ModuleName 
Uniquable ModuleName 
Outputable ModuleName 
BinaryStringRep ModuleName 

Orphan instances