module HIE.Bios.Debug (debugInfo, rootInfo) where
import CoreMonad (liftIO)
import Data.Maybe (fromMaybe)
import HIE.Bios.GHCApi
import HIE.Bios.Types
debugInfo :: Options
-> Cradle
-> IO String
debugInfo opt cradle = convert opt <$> do
(_ex, _sterr, gopts) <- getOptions (cradleOptsProg cradle) (cradleRootDir cradle)
mglibdir <- liftIO getSystemLibDir
return [
"Root directory: " ++ rootDir
, "GHC options: " ++ unwords gopts
, "System libraries: " ++ fromMaybe "" mglibdir
]
where
rootDir = cradleRootDir cradle
rootInfo :: Options
-> Cradle
-> IO String
rootInfo opt cradle = return $ convert opt $ cradleRootDir cradle