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