Cabal- A framework for packaging Haskell software

CopyrightIan Lynagh 2007
Safe HaskellNone




A Verbosity type with associated utilities.

There are 4 standard verbosity levels from silent, normal, verbose up to deafening. This is used for deciding what logging messages to print.

Verbosity also is equipped with some internal settings which can be used to control at a fine granularity the verbosity of specific settings (e.g., so that you can trace only particular things you are interested in.) It's important to note that the instances for Verbosity assume that this does not exist.



data Verbosity Source #


Bounded Verbosity # 
Enum Verbosity # 
Eq Verbosity # 
Ord Verbosity # 
Read Verbosity # 
Show Verbosity # 
Generic Verbosity # 

Associated Types

type Rep Verbosity :: * -> * Source #

Binary Verbosity # 
type Rep Verbosity # 

isVerboseQuiet :: Verbosity -> Bool Source #

Test if we had called lessVerbose on the verbosity

modifyVerbosity :: (Verbosity -> Verbosity) -> Verbosity -> Verbosity Source #

Combinator for transforming verbosity level while retaining the original hidden state.

For instance, the following property holds

isVerboseNoWrap (modifyVerbosity (max verbose) v) == isVerboseNoWrap v

Note: you can use modifyVerbosity (const v1) v0 to overwrite v1's flags with v0's flags.

Since: 2.0.1

Call stacks

verboseCallSite :: Verbosity -> Verbosity Source #

Turn on verbose call-site printing when we log.

verboseCallStack :: Verbosity -> Verbosity Source #

Turn on verbose call-stack printing when we log.

isVerboseCallSite :: Verbosity -> Bool Source #

Test if we should output call sites when we log.

isVerboseCallStack :: Verbosity -> Bool Source #

Test if we should output call stacks when we log.

Output markets

verboseMarkOutput :: Verbosity -> Verbosity Source #

Turn on -----BEGIN CABAL OUTPUT----- markers for output from Cabal (as opposed to GHC, or system dependent).

isVerboseMarkOutput :: Verbosity -> Bool Source #

Test if we should output markets.

verboseUnmarkOutput :: Verbosity -> Verbosity Source #

Turn off marking; useful for suppressing nondeterministic output.


verboseNoWrap :: Verbosity -> Verbosity Source #

Disable line-wrapping for log messages.

isVerboseNoWrap :: Verbosity -> Bool Source #

Test if line-wrapping is disabled for log messages.