hie-bios-0.3.0: Set up a GHC API session

Safe HaskellNone
LanguageHaskell2010

HIE.Bios.Config

Description

Logic and datatypes for parsing hie.yaml files.

Synopsis

Documentation

readConfig :: FilePath -> IO Config Source #

Decode given file to a Config value. If the contents of the file is not a valid Config, an IOException is thrown.

newtype Config 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
Eq Config Source # 
Instance details

Defined in HIE.Bios.Config

Methods

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

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

Show Config Source # 
Instance details

Defined in HIE.Bios.Config

FromJSON Config Source # 
Instance details

Defined in HIE.Bios.Config

data CradleConfig 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.

  • cradleType :: CradleType

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

data CradleType Source #

Constructors

Cabal 
CabalMulti [(FilePath, String)] 
Stack 
StackMulti [(FilePath, String)] 
Bios 

Fields

  • prog :: FilePath

    Path to program that retrieves options to compile a file

  • depsProg :: Maybe FilePath

    Optional Path to program 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, not relative to the location of this program.

Direct 

Fields

None 
Multi [(FilePath, CradleConfig)] 
Instances
Eq CradleType Source # 
Instance details

Defined in HIE.Bios.Config

Show CradleType Source # 
Instance details

Defined in HIE.Bios.Config

FromJSON CradleType Source # 
Instance details

Defined in HIE.Bios.Config