ghc-options-0.1.0.0: src/Language/Haskell/GhcOpts/Types.hs
module Language.Haskell.GhcOpts.Types (
CommandExtra (..)
, emptyCommand
, Config (..)
, CabalConfig (..)
, StackConfig (..)
) where
import System.Posix.Types (EpochTime)
data Config = Config
{ configGhcOpts :: [String]
, configCabal :: Maybe CabalConfig
, configStack :: Maybe StackConfig
}
deriving (Eq, Show)
data CabalConfig = CabalConfig
{ cabalConfigPath :: FilePath
, cabalConfigOpts :: [String]
, cabalConfigLastUpdatedAt :: EpochTime
}
deriving (Eq, Show)
data StackConfig = StackConfig
{ stackDist :: FilePath
, stackDbs :: [FilePath]
}
deriving (Eq, Show)
-- | Bonus config parameters used to override those in .cabal and stack.yaml
data CommandExtra = CommandExtra
{ ceGhcOptions :: [String]
, ceCabalConfig :: Maybe FilePath
, cePath :: Maybe FilePath
, ceCabalOptions :: [String]
} deriving (Read, Show)
emptyCommand :: CommandExtra
emptyCommand = CommandExtra [] Nothing Nothing []