{-# LANGUAGE OverloadedStrings #-} module Language.ATS.Package.Error ( -- * Helper functions unrecognized ) where import System.Exit import Text.PrettyPrint.ANSI.Leijen infixr 5 <#> unrecognized :: String -> IO a unrecognized = printErr . Unrecognized newtype PackageError = Unrecognized String (<#>) :: Doc -> Doc -> Doc (<#>) a b = a <> line <> b instance Pretty PackageError where pretty (Unrecognized t) = red "Error:" <> "Unrecognized archive format when unpacking" <#> hang 2 (text t) -- TODO monaderror? printErr :: PackageError -> IO a printErr e = putDoc (pretty e) >> exitFailure