packages feed

qux-0.2.0.0: main/Main.hs

{-|
Module      : Main

Copyright   : (c) Henry J. Wylde, 2015
License     : BSD3
Maintainer  : public@hjwylde.com
-}

{-# OPTIONS_HADDOCK hide, prune #-}

module Main where

import Options.Applicative

import              Qux.Commands
import qualified    Qux.Commands.Build      as Build
import qualified    Qux.Commands.Check      as Check
import qualified    Qux.Commands.Compile    as Compile
import qualified    Qux.Commands.Print      as Print


-- | Main.
main :: IO ()
main = customExecParser quxPrefs quxInfo >>= handle

handle :: Options -> IO ()
handle options = case argCommand options of
    Build   options -> Build.handle     options
    Check   options -> Check.handle     options
    Compile options -> Compile.handle   options
    Print   options -> Print.handle     options