hie-bios-0.16.0: src/HIE/Bios/Cradle/ProjectConfig.hs
module HIE.Bios.Cradle.ProjectConfig where
import System.FilePath
-- | Explicit data-type for project configuration location.
-- It is basically a 'Maybe' type, but helps to document the API
-- and helps to avoid incorrect usage.
data CradleProjectConfig
= NoExplicitConfig
| ExplicitConfig FilePath
deriving (Eq, Show)
-- | Create an explicit project configuration. Expects a working directory
-- followed by an optional name of the project configuration.
projectConfigFromMaybe :: FilePath -> Maybe FilePath -> CradleProjectConfig
projectConfigFromMaybe _wdir Nothing = NoExplicitConfig
projectConfigFromMaybe wdir (Just fp) = ExplicitConfig (wdir </> fp)