shell-utility-0.0: src/Shell/Utility/GetOpt.hs
module Shell.Utility.GetOpt where
import qualified System.Console.GetOpt as G
fmapArgDescr :: (a -> b) -> (G.ArgDescr a -> G.ArgDescr b)
fmapArgDescr f d =
case d of
G.NoArg a -> G.NoArg $ f a
G.ReqArg g str -> G.ReqArg (f.g) str
G.OptArg g str -> G.OptArg (f.g) str
fmapOptDescr :: (a -> b) -> (G.OptDescr a -> G.OptDescr b)
fmapOptDescr f (G.Option short long arg help) =
G.Option short long (fmapArgDescr f arg) help