process-extras-0.7.4: Process extras

Safe HaskellNone
LanguageHaskell2010

System.Process.Run

Contents

Description

Flexible control of progress reporting for readCreateProcess and friends.

Synopsis

Monad transformer

type RunT text m = StateT (RunState text) m Source #

runT :: forall m text char a. (MonadIO m, ProcessText text char) => RunT text m a -> m a Source #

data RunState text Source #

This is the state record that controls the output style.

Constructors

RunState 

Fields

Instances

ProcessText text char => Default (RunState text) Source # 

Methods

def :: RunState text #

data OutputStyle Source #

Constructors

Dots Int

Output one dot per n output characters

All

send process stdout to console stdout and process stderr to console stderr

Indented

Output with prefixes

Silent

No output

Monad class

Modify moand RunM state parameters

output :: MonadState (RunState t) m => m () Source #

silent :: MonadState (RunState t) m => m () Source #

dots :: MonadState (RunState t) m => Int -> m () Source #

indent :: (MonadState (RunState t) m, ListLike t char) => (t -> t) -> (t -> t) -> m () Source #

Modify the indentation prefixes for stdout and stderr in the progress monad.

vlevel :: forall m text char. (IsString text, ListLike text char, MonadIO m, MonadState (RunState text) m) => Int -> m () Source #

Set verbosity to a specific level from 0 to 3. vlevel :: (MonadIO m, Monoid text, MonadState (RunState text) m) => Int -> m () vlevel :: forall m text char. (IsString text, ListLike text char, MonadIO m) => Int -> m ()

quieter :: RunM text char m => m () Source #

noisier :: RunM text char m => m () Source #

lazy :: RunM text char m => m () Source #

strict :: RunM text char m => m () Source #

message :: RunM text char m => (text -> text) -> m () Source #

Monadic process runner

run :: forall m maker text char result. (RunM text char m, ProcessMaker maker, ProcessResult text result) => maker -> text -> m result Source #

Re-exports