packages feed

hen-0.1.0: bin/He.hs

{-# LANGUAGE RecordWildCards #-}

module Main (main) where

import Control.Exception (SomeException)
import Control.Monad (void)

import System.Xen (runXenT)

import He.Options (HeCommand(..), HeOptions(..), getOptions)
import qualified He.Commands.List as HeList

reportError :: SomeException -> IO ()
reportError = error . show

main :: IO ()
main = do
    HeOptions { .. } <- getOptions
    result <- runXenT $ case heOptionCommand of
        HeCommandList -> void $ HeList.run
    either reportError (const $ return ()) result