module Imp.Exception.InvalidOption where import qualified Control.Monad.Catch as Exception import qualified Data.Char as Char import qualified Data.List as List newtype InvalidOption = InvalidOption String deriving (InvalidOption -> InvalidOption -> Bool (InvalidOption -> InvalidOption -> Bool) -> (InvalidOption -> InvalidOption -> Bool) -> Eq InvalidOption forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: InvalidOption -> InvalidOption -> Bool == :: InvalidOption -> InvalidOption -> Bool $c/= :: InvalidOption -> InvalidOption -> Bool /= :: InvalidOption -> InvalidOption -> Bool Eq, Int -> InvalidOption -> ShowS [InvalidOption] -> ShowS InvalidOption -> String (Int -> InvalidOption -> ShowS) -> (InvalidOption -> String) -> ([InvalidOption] -> ShowS) -> Show InvalidOption forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> InvalidOption -> ShowS showsPrec :: Int -> InvalidOption -> ShowS $cshow :: InvalidOption -> String show :: InvalidOption -> String $cshowList :: [InvalidOption] -> ShowS showList :: [InvalidOption] -> ShowS Show) instance Exception.Exception InvalidOption where displayException :: InvalidOption -> String displayException (InvalidOption String x) = String "invalid option: " String -> ShowS forall a. Semigroup a => a -> a -> a <> String x new :: String -> InvalidOption new :: String -> InvalidOption new = String -> InvalidOption InvalidOption (String -> InvalidOption) -> ShowS -> String -> InvalidOption forall b c a. (b -> c) -> (a -> b) -> a -> c . (Char -> Bool) -> ShowS forall a. (a -> Bool) -> [a] -> [a] List.dropWhile Char -> Bool Char.isSpace