#!/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