{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE NoImplicitPrelude #-} module HWM.Core.Options ( Options (..), defaultOptions, askOptions, ) where import HWM.Core.Has (Has (..)) import Relude askOptions :: (MonadReader env m, Has env Options) => m Options askOptions :: forall env (m :: * -> *). (MonadReader env m, Has env Options) => m Options askOptions = (env -> Options) -> m Options forall r (m :: * -> *) a. MonadReader r m => (r -> a) -> m a asks env -> Options forall env a. Has env a => env -> a obtain data Options = Options { Options -> FilePath hie :: FilePath, Options -> FilePath hwm :: FilePath, Options -> FilePath stack :: FilePath, Options -> Bool quiet :: Bool } defaultOptions :: Options defaultOptions :: Options defaultOptions = Options { hwm :: FilePath hwm = FilePath "./hwm.yaml", hie :: FilePath hie = FilePath "./hie.yaml", stack :: FilePath stack = FilePath "./stack.yaml", quiet :: Bool quiet = Bool False }