{-| Module : Main Copyright : (c) Henry J. Wylde, 2016 License : BSD3 Maintainer : public@hjwylde.com -} module Main ( -- * Main main, ) where import Control.Monad.Reader import Options.Applicative import System.Environment import Werewolf.Slack.Application import Werewolf.Slack.Options main :: IO () main = getArgs >>= run run :: [String] -> IO () run args = handleParseResult (execParserPure werewolfSlackPrefs werewolfSlackInfo args) >>= handle handle :: Options -> IO () handle = runReaderT runApplication