module Main where import System.Environment import System.Exit import System.Console.CmdArgs (cmdArgsRun) import System.Console.CmdArgs.Explicit(helpText, HelpFormat(..)) import Rob.Types (Task(..)) import Rob.Tasks (mode) import qualified Rob.Actions.Add import qualified Rob.Actions.New import qualified Rob.Actions.List import qualified Rob.Actions.Remove main :: IO() main = do args <- getArgs if null args then exitWithHelp else parse =<< cmdArgsRun mode parse :: Task -> IO () parse Add {name = n, path = p} = Rob.Actions.Add.main n p parse New = Rob.Actions.New.main parse List = Rob.Actions.List.main parse Remove = Rob.Actions.Remove.main exitWithHelp :: IO a exitWithHelp = do putStr $ show $ helpText [] HelpFormatOne mode exitSuccess