cmdargs-0.10.22: Command line argument processing

Safe Haskell | Safe-Inferred
Language | Haskell2010

System.Console.CmdArgs.Verbosity

Description

A module to deal with verbosity, how 'chatty' a program should be. This module defines the `Verbosity` data type, along with functions for manipulating a global verbosity value.

Synopsis

- data Verbosity
  - = Quiet
  - | Normal
  - | Loud
- setVerbosity :: Verbosity -> IO ()
- getVerbosity :: IO Verbosity
- isNormal :: IO Bool
- isLoud :: IO Bool
- whenNormal :: IO () -> IO ()
- whenLoud :: IO () -> IO ()

# Documentation

data Verbosity #

The verbosity data type

Constructors

Quiet | Only output essential messages (typically errors)
Normal | Output normal messages (typically errors and warnings)
Loud | Output lots of messages (typically errors, warnings and status updates)

#### Instances

Instances details

Data Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Verbosity -> c Verbosity gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Verbosity toConstr :: Verbosity -> Constr dataTypeOf :: Verbosity -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Verbosity) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Verbosity) gmapT :: (forall b. Data b => b -> b) -> Verbosity -> Verbosity gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Verbosity -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Verbosity -> r gmapQ :: (forall d. Data d => d -> u) -> Verbosity -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Verbosity -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Verbosity -> m Verbosity gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Verbosity -> m Verbosity gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Verbosity -> m Verbosity
Bounded Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods minBound :: Verbosity maxBound :: Verbosity
Enum Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods succ :: Verbosity -> Verbosity pred :: Verbosity -> Verbosity toEnum :: Int -> Verbosity fromEnum :: Verbosity -> Int enumFrom :: Verbosity -> [Verbosity] enumFromThen :: Verbosity -> Verbosity -> [Verbosity] enumFromTo :: Verbosity -> Verbosity -> [Verbosity] enumFromThenTo :: Verbosity -> Verbosity -> Verbosity -> [Verbosity]
Read Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods readsPrec :: Int -> ReadS Verbosity readList :: ReadS [Verbosity] readPrec :: ReadPrec Verbosity readListPrec :: ReadPrec [Verbosity]
Show Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods showsPrec :: Int -> Verbosity -> ShowS show :: Verbosity -> String showList :: [Verbosity] -> ShowS
Eq Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods (==) :: Verbosity -> Verbosity -> Bool (/=) :: Verbosity -> Verbosity -> Bool
Ord Verbosity # |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods compare :: Verbosity -> Verbosity -> Ordering (<) :: Verbosity -> Verbosity -> Bool (<=) :: Verbosity -> Verbosity -> Bool (>) :: Verbosity -> Verbosity -> Bool (>=) :: Verbosity -> Verbosity -> Bool max :: Verbosity -> Verbosity -> Verbosity min :: Verbosity -> Verbosity -> Verbosity

setVerbosity :: Verbosity -> IO () #

Set the global verbosity.

getVerbosity :: IO Verbosity #

Get the global verbosity. Initially `Normal` before any calls to `setVerbosity`.

isNormal :: IO Bool #

Used to test if warnings should be output to the user. `True` if the verbosity is set to `Normal` or `Loud` (when `--quiet` is not specified).

isLoud :: IO Bool #

Used to test if status updates should be output to the user. `True` if the verbosity is set to `Loud` (when `--verbose` is specified).

whenNormal :: IO () -> IO () #

An action to perform if the verbosity is normal or higher, based on `isNormal`.

whenLoud :: IO () -> IO () #

An action to perform if the verbosity is loud, based on `isLoud`.