hie-bios-0.14.0: Set up a GHC API session
Safe HaskellSafe-Inferred
LanguageHaskell2010

HIE.Bios.Config

Description

Logic and datatypes for parsing hie.yaml files.

Synopsis

Documentation

newtype Config a Source #

Configuration that can be used to load a Cradle. A configuration has roughly the following form:

cradle:
  cabal:
    component: "lib:hie-bios"

Constructors

Config 

Fields

Instances

Instances details
Functor Config Source # 
Instance details

Defined in HIE.Bios.Config

Methods

fmap :: (a -> b) -> Config a -> Config b #

(<$) :: a -> Config b -> Config a #

Show (Config a) Source # 
Instance details

Defined in HIE.Bios.Config

Methods

showsPrec :: Int -> Config a -> ShowS #

show :: Config a -> String #

showList :: [Config a] -> ShowS #

Eq a => Eq (Config a) Source # 
Instance details

Defined in HIE.Bios.Config

Methods

(==) :: Config a -> Config a -> Bool #

(/=) :: Config a -> Config a -> Bool #

data CradleConfig a Source #

Constructors

CradleConfig 

Fields

  • cradleDependencies :: [FilePath]

    Dependencies of a cradle. Dependencies are expected to be relative to the root directory. The given files are not required to exist.

  • cradleTree :: CradleTree a

    Type of the cradle to use. Actions to obtain compiler flags from are dependant on this field.

Instances

Instances details
Functor CradleConfig Source # 
Instance details

Defined in HIE.Bios.Config

Methods

fmap :: (a -> b) -> CradleConfig a -> CradleConfig b #

(<$) :: a -> CradleConfig b -> CradleConfig a #

Show (CradleConfig a) Source # 
Instance details

Defined in HIE.Bios.Config

Eq a => Eq (CradleConfig a) Source # 
Instance details

Defined in HIE.Bios.Config

data CabalType Source #

A cabal yaml configuration consists of component configuration and project configuration.

The former specifies how we can find the compilation flags for any filepath in the project. There might be an explicit mapping from source directories to components, or we let cabal figure it out on its own.

Project configuration is the 'cabal.project' file, we is by default named 'cabal.project'. We allow to override that name to have an HLS specific project configuration file.

Instances

Instances details
Monoid CabalType Source # 
Instance details

Defined in HIE.Bios.Config

Semigroup CabalType Source # 
Instance details

Defined in HIE.Bios.Config

Show CabalType Source # 
Instance details

Defined in HIE.Bios.Config

Eq CabalType Source # 
Instance details

Defined in HIE.Bios.Config

data StackType Source #

Instances

Instances details
Monoid StackType Source # 
Instance details

Defined in HIE.Bios.Config

Semigroup StackType Source # 
Instance details

Defined in HIE.Bios.Config

Show StackType Source # 
Instance details

Defined in HIE.Bios.Config

Eq StackType Source # 
Instance details

Defined in HIE.Bios.Config

data CradleTree a Source #

Constructors

Cabal 

Fields

CabalMulti 
Stack 

Fields

StackMulti 
Bios 

Fields

  • call :: Callable

    Path to program or shell command that retrieves options to compile a file

  • depsCall :: Maybe Callable

    Optional path to program or shell command to obtain cradle dependencies. Each cradle dependency is to be expected to be on a separate line and relative to the root dir of the cradle.

  • ghcPath :: Maybe FilePath

    Optional path to the ghc binary

Direct 

Fields

None 
Multi [(FilePath, CradleConfig a)] 
Other 

Instances

Instances details
Functor CradleTree Source # 
Instance details

Defined in HIE.Bios.Config

Methods

fmap :: (a -> b) -> CradleTree a -> CradleTree b #

(<$) :: a -> CradleTree b -> CradleTree a #

Show (CradleTree a) Source # 
Instance details

Defined in HIE.Bios.Config

Eq a => Eq (CradleTree a) Source # 
Instance details

Defined in HIE.Bios.Config

Methods

(==) :: CradleTree a -> CradleTree a -> Bool #

(/=) :: CradleTree a -> CradleTree a -> Bool #

data Callable Source #

Instances

Instances details
Show Callable Source # 
Instance details

Defined in HIE.Bios.Config

Eq Callable Source # 
Instance details

Defined in HIE.Bios.Config