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

Safe Haskell | Safe-Inferred
Language | Haskell2010

HIE.Bios.Config.YAML

Description

Datatypes for parsing `hie.yaml` files

# Documentation

data CradleConfigYAML a #

Constructors

CradleConfigYAML |
Fields cradle :: CradleComponent a dependencies :: Maybe [FilePath]

#### Instances

Instances details

FromJSON a => FromJSON (CradleConfigYAML a) # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser (CradleConfigYAML a) # parseJSONList :: Value -> Parser [CradleConfigYAML a] # omittedField :: Maybe (CradleConfigYAML a) #
Generic (CradleConfigYAML a) # |
Instance details Defined in HIE.Bios.Config.YAML Associated Types type Rep (CradleConfigYAML a) :: Type -> Type Methods from :: CradleConfigYAML a -> Rep (CradleConfigYAML a) x to :: Rep (CradleConfigYAML a) x -> CradleConfigYAML a
type Rep (CradleConfigYAML a) # |
Instance details Defined in HIE.Bios.Config.YAML type Rep (CradleConfigYAML a) = D1 ('MetaData "CradleConfigYAML" "HIE.Bios.Config.YAML" "hie-bios-0.12.0-EDzpidJEA8S5FEkJDKC9nI" 'False) (C1 ('MetaCons "CradleConfigYAML" 'PrefixI 'True) (S1 ('MetaSel ('Just "cradle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CradleComponent a)) :*: S1 ('MetaSel ('Just "dependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [FilePath]))))

data CradleComponent a #

Constructors

Multi [MultiSubComponent a] |
Cabal CabalConfig |
Stack StackConfig |
Direct DirectConfig |
Bios BiosConfig |
None NoneConfig |
Other (OtherConfig a) |

#### Instances

Instances details

FromJSON a => FromJSON (CradleComponent a) # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser (CradleComponent a) # parseJSONList :: Value -> Parser [CradleComponent a] # omittedField :: Maybe (CradleComponent a) #
Generic (CradleComponent a) # |
Instance details Defined in HIE.Bios.Config.YAML Associated Types type Rep (CradleComponent a) :: Type -> Type Methods from :: CradleComponent a -> Rep (CradleComponent a) x to :: Rep (CradleComponent a) x -> CradleComponent a
type Rep (CradleComponent a) # |
Instance details Defined in HIE.Bios.Config.YAML type Rep (CradleComponent a) = D1 ('MetaData "CradleComponent" "HIE.Bios.Config.YAML" "hie-bios-0.12.0-EDzpidJEA8S5FEkJDKC9nI" 'False) ((C1 ('MetaCons "Multi" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [MultiSubComponent a])) :+: (C1 ('MetaCons "Cabal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CabalConfig)) :+: C1 ('MetaCons "Stack" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StackConfig)))) :+: ((C1 ('MetaCons "Direct" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DirectConfig)) :+: C1 ('MetaCons "Bios" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BiosConfig))) :+: (C1 ('MetaCons "None" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NoneConfig)) :+: C1 ('MetaCons "Other" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OtherConfig a))))))

data MultiSubComponent a #

Constructors

MultiSubComponent |
Fields path :: FilePath config :: CradleConfigYAML a

#### Instances

Instances details

FromJSON a => FromJSON (MultiSubComponent a) # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser (MultiSubComponent a) # parseJSONList :: Value -> Parser [MultiSubComponent a] # omittedField :: Maybe (MultiSubComponent a) #
Generic (MultiSubComponent a) # |
Instance details Defined in HIE.Bios.Config.YAML Associated Types type Rep (MultiSubComponent a) :: Type -> Type Methods from :: MultiSubComponent a -> Rep (MultiSubComponent a) x to :: Rep (MultiSubComponent a) x -> MultiSubComponent a
type Rep (MultiSubComponent a) # |
Instance details Defined in HIE.Bios.Config.YAML type Rep (MultiSubComponent a) = D1 ('MetaData "MultiSubComponent" "HIE.Bios.Config.YAML" "hie-bios-0.12.0-EDzpidJEA8S5FEkJDKC9nI" 'False) (C1 ('MetaCons "MultiSubComponent" 'PrefixI 'True) (S1 ('MetaSel ('Just "path") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: S1 ('MetaSel ('Just "config") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CradleConfigYAML a))))

data CabalConfig #

Constructors

CabalConfig |
Fields cabalComponents :: OneOrManyComponents CabalComponent

#### Instances

Instances details

FromJSON CabalConfig # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser CabalConfig # parseJSONList :: Value -> Parser [CabalConfig] # omittedField :: Maybe CabalConfig #

data CabalComponent #

Constructors

CabalComponent |
Fields cabalPath :: FilePath cabalComponent :: String

#### Instances

Instances details

FromJSON CabalComponent # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser CabalComponent # parseJSONList :: Value -> Parser [CabalComponent] # omittedField :: Maybe CabalComponent #

data StackConfig #

Constructors

StackConfig |
Fields stackYaml :: Maybe FilePath stackComponents :: OneOrManyComponents StackComponent

#### Instances

Instances details

FromJSON StackConfig # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser StackConfig # parseJSONList :: Value -> Parser [StackConfig] # omittedField :: Maybe StackConfig #

data StackComponent #

Constructors

StackComponent |
Fields stackPath :: FilePath stackComponent :: String stackComponentYAML :: Maybe String

#### Instances

Instances details

FromJSON StackComponent # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser StackComponent # parseJSONList :: Value -> Parser [StackComponent] # omittedField :: Maybe StackComponent #

data DirectConfig #

Constructors

DirectConfig |
Fields arguments :: [String]

#### Instances

Instances details

FromJSON DirectConfig # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser DirectConfig # parseJSONList :: Value -> Parser [DirectConfig] # omittedField :: Maybe DirectConfig #
Generic DirectConfig # |
Instance details Defined in HIE.Bios.Config.YAML Associated Types type Rep DirectConfig :: Type -> Type Methods from :: DirectConfig -> Rep DirectConfig x to :: Rep DirectConfig x -> DirectConfig
type Rep DirectConfig # |
Instance details Defined in HIE.Bios.Config.YAML type Rep DirectConfig = D1 ('MetaData "DirectConfig" "HIE.Bios.Config.YAML" "hie-bios-0.12.0-EDzpidJEA8S5FEkJDKC9nI" 'False) (C1 ('MetaCons "DirectConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "arguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))

data BiosConfig #

Constructors

BiosConfig |
Fields callable :: Callable depsCallable :: Maybe Callable ghcPath :: Maybe FilePath

#### Instances

Instances details

FromJSON BiosConfig # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser BiosConfig # parseJSONList :: Value -> Parser [BiosConfig] # omittedField :: Maybe BiosConfig #

data NoneConfig #

Constructors

NoneConfig |

#### Instances

Instances details

FromJSON NoneConfig # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser NoneConfig # parseJSONList :: Value -> Parser [NoneConfig] # omittedField :: Maybe NoneConfig #

data OtherConfig a #

Constructors

OtherConfig |
Fields otherConfig :: a originalYamlValue :: Value

#### Instances

Instances details

FromJSON a => FromJSON (OtherConfig a) # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser (OtherConfig a) # parseJSONList :: Value -> Parser [OtherConfig a] # omittedField :: Maybe (OtherConfig a) #

data OneOrManyComponents component #

Constructors

SingleComponent String |
ManyComponents [component] |
NoComponent |

#### Instances

Instances details

FromJSON component => FromJSON (OneOrManyComponents component) # |
Instance details Defined in HIE.Bios.Config.YAML Methods parseJSON :: Value -> Parser (OneOrManyComponents component) # parseJSONList :: Value -> Parser [OneOrManyComponents component] # omittedField :: Maybe (OneOrManyComponents component) #

data Callable #

Constructors

Program FilePath |
Shell String |