process-extras-0.7.4: Process extras
Safe HaskellNone
LanguageHaskell2010

System.Process.Run

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

Instances details
ProcessText text char => Default (RunState text) Source # 
Instance details

Defined in System.Process.Run

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

class (MonadState (RunState text) m, ProcessText text char, ListLikeProcessIO text char, MonadIO m, IsString text, Eq char, Dot char) => RunM text char m Source #

Instances

Instances details
(MonadIO m, MonadState (RunState String) m) => RunM String Char m Source # 
Instance details

Defined in System.Process.Run

(MonadIO m, MonadState (RunState ByteString) m) => RunM ByteString Word8 m Source # 
Instance details

Defined in System.Process.Run

(MonadIO m, MonadState (RunState ByteString) m) => RunM ByteString Word8 m Source # 
Instance details

Defined in System.Process.Run

(MonadIO m, MonadState (RunState Text) m) => RunM Text Char m Source # 
Instance details

Defined in System.Process.Run

(MonadIO m, MonadState (RunState Text) m) => RunM Text Char m Source # 
Instance details

Defined in System.Process.Run

Modify moand RunM state parameters

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

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

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