Monadoro-0.2.1.8: src/ArgParse.hs
#!/usr/bin/env stack
--stack --install-ghc runghc
module ArgParse (parse_args) where
-- Here we will service arguments passed to the program in the simplest manner
-- possible.
import System.Environment
import System.Exit
import Pomodoro (worker)
import Clock (countdown)
import Version (my_version)
usage = putStrLn "Usage: monadoro [-vh] [--session]"
version = my_version "package.yaml" >>= putStrLn :: IO ()
exit = exitWith ExitSuccess
warn = putStrLn "Invalid argument." >> usage >> exitWith (ExitFailure 1)
parse ["-h"] = usage >> exit
parse ["-v"] = version >> exit
parse ["--session"] = worker
parse [] = countdown
parse _ = warn
parse_args = getArgs >>= parse
main = parse_args