module System.Directory.Watchman.WatchmanException
    ( WatchmanException(..)
    ) where

import Control.Exception (Exception, IOException)

import System.Directory.Watchman.Subscribe

data WatchmanException
    = WatchmanException_ErrorResponse String
    | WatchmanException_SockError IOException
    | WatchmanException_SubscriptionExists SubscriptionName
    deriving (Int -> WatchmanException -> ShowS
[WatchmanException] -> ShowS
WatchmanException -> String
(Int -> WatchmanException -> ShowS)
-> (WatchmanException -> String)
-> ([WatchmanException] -> ShowS)
-> Show WatchmanException
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WatchmanException] -> ShowS
$cshowList :: [WatchmanException] -> ShowS
show :: WatchmanException -> String
$cshow :: WatchmanException -> String
showsPrec :: Int -> WatchmanException -> ShowS
$cshowsPrec :: Int -> WatchmanException -> ShowS
Show, WatchmanException -> WatchmanException -> Bool
(WatchmanException -> WatchmanException -> Bool)
-> (WatchmanException -> WatchmanException -> Bool)
-> Eq WatchmanException
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WatchmanException -> WatchmanException -> Bool
$c/= :: WatchmanException -> WatchmanException -> Bool
== :: WatchmanException -> WatchmanException -> Bool
$c== :: WatchmanException -> WatchmanException -> Bool
Eq)

instance Exception WatchmanException