#!/usr/bin/env stack
module ArgParse (parse_args) where
import System.Environment
import System.Exit
import Pomodoro (worker)
import Clock (countdown)
import Version (version)
usage = putStrLn "Usage: monadoro [-vh] [--session]"
soft_version = putStrLn $ version
exit = exitWith ExitSuccess
warn = putStrLn "Invalid argument." >> usage >> exitWith (ExitFailure 1)
parse ["-h"] = usage >> exit
parse ["-v"] = soft_version >> exit
parse ["--session"] = worker
parse [] = countdown
parse _ = warn
parse_args = getArgs >>= parse
main = parse_args