{-# LANGUAGE LambdaCase #-}
module Language.Haskell.Liquid.Cabal (liquidHaskellMain) where
import Distribution.Simple
import System.Environment
liquidHaskellMain :: IO ()
liquidHaskellMain :: IO ()
liquidHaskellMain = do
mbDevMode <- String -> IO (Maybe String)
lookupEnv String
"LIQUID_DEV_MODE"
defaultMainWithHooks (devModeHooks mbDevMode)
devModeHooks :: Maybe String -> UserHooks
devModeHooks :: Maybe String -> UserHooks
devModeHooks = \case
Maybe String
Nothing -> UserHooks
simpleUserHooks
Just String
x | String
x String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
"false" -> UserHooks
simpleUserHooks
Just String
_ -> UserHooks
simpleUserHooks { buildHook = \PackageDescription
_ LocalBuildInfo
_ UserHooks
_ BuildFlags
_ -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return () }