module CabalGild.Unstable.Exception.DuplicateOption where
import qualified Control.Monad.Catch as Exception
data DuplicateOption
= DuplicateOption
{ DuplicateOption -> String
option :: String,
DuplicateOption -> String
old :: String,
DuplicateOption -> String
new :: String
}
deriving (DuplicateOption -> DuplicateOption -> Bool
(DuplicateOption -> DuplicateOption -> Bool)
-> (DuplicateOption -> DuplicateOption -> Bool)
-> Eq DuplicateOption
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DuplicateOption -> DuplicateOption -> Bool
== :: DuplicateOption -> DuplicateOption -> Bool
$c/= :: DuplicateOption -> DuplicateOption -> Bool
/= :: DuplicateOption -> DuplicateOption -> Bool
Eq, Int -> DuplicateOption -> ShowS
[DuplicateOption] -> ShowS
DuplicateOption -> String
(Int -> DuplicateOption -> ShowS)
-> (DuplicateOption -> String)
-> ([DuplicateOption] -> ShowS)
-> Show DuplicateOption
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DuplicateOption -> ShowS
showsPrec :: Int -> DuplicateOption -> ShowS
$cshow :: DuplicateOption -> String
show :: DuplicateOption -> String
$cshowList :: [DuplicateOption] -> ShowS
showList :: [DuplicateOption] -> ShowS
Show)
instance Exception.Exception DuplicateOption where
displayException :: DuplicateOption -> String
displayException DuplicateOption
x =
String
"overriding option --"
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> DuplicateOption -> String
option DuplicateOption
x
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
" (before: "
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> DuplicateOption -> String
old DuplicateOption
x
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
", after: "
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> DuplicateOption -> String
new DuplicateOption
x
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
")"