module HashAddressed.App.Verbosity.Options ( verboseOption, quietOption, verbosityOption, ) where import Essentials import HashAddressed.App.Verbosity.Type import qualified Options.Applicative as Options verboseOption :: Options.Parser Bool verboseOption :: Parser Bool verboseOption = Mod FlagFields Bool -> Parser Bool Options.switch forall a b. (a -> b) -> a -> b $ forall (f :: * -> *) a. HasName f => String -> Mod f a Options.long String "verbose" forall a. Semigroup a => a -> a -> a <> forall (f :: * -> *) a. String -> Mod f a Options.help String "Print miscellaneous commentary to the standard error stream" quietOption :: Options.Parser Bool quietOption :: Parser Bool quietOption = Mod FlagFields Bool -> Parser Bool Options.switch forall a b. (a -> b) -> a -> b $ forall (f :: * -> *) a. HasName f => String -> Mod f a Options.long String "quiet" forall a. Semigroup a => a -> a -> a <> forall (f :: * -> *) a. String -> Mod f a Options.help String "Do not print normal output to the standard output stream" verbosityOption :: Options.Parser Verbosity verbosityOption :: Parser Verbosity verbosityOption = do Bool quiet <- Parser Bool quietOption Bool verbose <- Parser Bool verboseOption pure Verbosity{ Bool quiet :: Bool quiet :: Bool quiet, Bool verbose :: Bool verbose :: Bool verbose }