module Imp.Exception.ShowHelp where

import qualified Control.Monad.Catch as Exception
import qualified Imp.Type.Flag as Flag
import qualified System.Console.GetOpt as GetOpt

data ShowHelp
  = ShowHelp
  deriving (ShowHelp -> ShowHelp -> Bool
(ShowHelp -> ShowHelp -> Bool)
-> (ShowHelp -> ShowHelp -> Bool) -> Eq ShowHelp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ShowHelp -> ShowHelp -> Bool
== :: ShowHelp -> ShowHelp -> Bool
$c/= :: ShowHelp -> ShowHelp -> Bool
/= :: ShowHelp -> ShowHelp -> Bool
Eq, Int -> ShowHelp -> ShowS
[ShowHelp] -> ShowS
ShowHelp -> String
(Int -> ShowHelp -> ShowS)
-> (ShowHelp -> String) -> ([ShowHelp] -> ShowS) -> Show ShowHelp
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ShowHelp -> ShowS
showsPrec :: Int -> ShowHelp -> ShowS
$cshow :: ShowHelp -> String
show :: ShowHelp -> String
$cshowList :: [ShowHelp] -> ShowS
showList :: [ShowHelp] -> ShowS
Show)

instance Exception.Exception ShowHelp where
  displayException :: ShowHelp -> String
displayException = String -> ShowHelp -> String
forall a b. a -> b -> a
const (String -> ShowHelp -> String) -> String -> ShowHelp -> String
forall a b. (a -> b) -> a -> b
$ String -> [OptDescr Flag] -> String
forall a. String -> [OptDescr a] -> String
GetOpt.usageInfo String
"imp" [OptDescr Flag]
Flag.options

new :: ShowHelp
new :: ShowHelp
new = ShowHelp
ShowHelp