module System.XDG.Error where import Control.Exception import Path data XDGError = FileNotFound (Path Abs File) | NoReadableFile | MissingEnv String | InvalidPath FilePath deriving (XDGError -> XDGError -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: XDGError -> XDGError -> Bool $c/= :: XDGError -> XDGError -> Bool == :: XDGError -> XDGError -> Bool $c== :: XDGError -> XDGError -> Bool Eq, Int -> XDGError -> ShowS [XDGError] -> ShowS XDGError -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [XDGError] -> ShowS $cshowList :: [XDGError] -> ShowS show :: XDGError -> String $cshow :: XDGError -> String showsPrec :: Int -> XDGError -> ShowS $cshowsPrec :: Int -> XDGError -> ShowS Show) instance Exception XDGError throwIOLeft :: Exception e => Either e a -> IO a throwIOLeft :: forall e a. Exception e => Either e a -> IO a throwIOLeft = forall a c b. (a -> c) -> (b -> c) -> Either a b -> c either forall e a. Exception e => e -> IO a throwIO forall (f :: * -> *) a. Applicative f => a -> f a pure