module Hoodle.StartUp where
import qualified Config.Dyre as Dyre
import System.Console.CmdArgs
import System.FilePath
import System.Environment
import Hoodle.Script
import Hoodle.ProgType
import Hoodle.Command
hoodleMain :: ScriptConfig -> IO ()
hoodleMain ScriptConfig {..} = do
case errorMsg of
Nothing -> return ()
Just em -> putStrLn $ "Error: " ++ em
maybe (return ()) putStrLn message
param <- cmdArgs mode
commandLineProcess param hook
hoodleStartMain :: ScriptConfig -> IO ()
hoodleStartMain = Dyre.wrapMain $ Dyre.defaultParams
{ Dyre.projectName = "start"
, Dyre.configDir = Just dirHoodled
, Dyre.realMain = hoodleMain
, Dyre.showError = showError
, Dyre.ghcOpts = [ "-threaded" ]
}
dirHoodled :: IO FilePath
dirHoodled = do
homedir <- getEnv "HOME"
return (homedir </> ".hoodle.d")