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