Safe Haskell | None |
---|---|
Language | Haskell2010 |
The monad used for the command-line executable stack
.
- data StackT config m a
- data StackLoggingT m a
- runStackT :: (MonadIO m, MonadBaseControl IO m) => Manager -> LogLevel -> config -> Bool -> Bool -> StackT config m a -> m a
- runStackTGlobal :: (MonadIO m, MonadBaseControl IO m) => Manager -> config -> GlobalOpts -> StackT config m a -> m a
- runStackLoggingT :: MonadIO m => Manager -> LogLevel -> Bool -> Bool -> StackLoggingT m a -> m a
- runStackLoggingTGlobal :: MonadIO m => Manager -> GlobalOpts -> StackLoggingT m a -> m a
- runInnerStackT :: (HasHttpManager r, HasLogLevel r, HasTerminal r, HasReExec r, MonadReader r m, MonadIO m) => config -> StackT config IO a -> m a
- runInnerStackLoggingT :: (HasHttpManager r, HasLogLevel r, HasTerminal r, HasReExec r, MonadReader r m, MonadIO m) => StackLoggingT IO a -> m a
- newTLSManager :: MonadIO m => m Manager
- logSticky :: Q Exp
- logStickyDone :: Q Exp
Documentation
The monad used for the executable stack
.
MonadBaseControl b m => MonadBaseControl b (StackT config m) Source | |
MonadBase b m => MonadBase b (StackT config m) Source | |
MonadTrans (StackT config) Source | |
MonadTransControl (StackT config) Source | |
Monad m => MonadReader (Env config) (StackT config m) Source | |
Monad m => Monad (StackT config m) Source | |
Functor m => Functor (StackT config m) Source | |
Applicative m => Applicative (StackT config m) Source | |
MonadThrow m => MonadThrow (StackT config m) Source | |
MonadCatch m => MonadCatch (StackT config m) Source | |
MonadMask m => MonadMask (StackT config m) Source | |
MonadIO m => MonadLogger (StackT config m) Source | Takes the configured log level into account. |
MonadIO m => MonadIO (StackT config m) Source | |
type StT (StackT config) a = StT (ReaderT (Env config)) a Source | |
type StM (StackT config m) a = ComposeSt (StackT config) m a Source |
data StackLoggingT m a Source
The monad used for logging in the executable stack
before
anything has been initialized.
MonadTrans StackLoggingT Source | |
MonadTransControl StackLoggingT Source | |
MonadBaseControl b m => MonadBaseControl b (StackLoggingT m) Source | |
MonadBase b m => MonadBase b (StackLoggingT m) Source | |
Monad m => Monad (StackLoggingT m) Source | |
Functor m => Functor (StackLoggingT m) Source | |
Applicative m => Applicative (StackLoggingT m) Source | |
MonadThrow m => MonadThrow (StackLoggingT m) Source | |
MonadCatch m => MonadCatch (StackLoggingT m) Source | |
MonadMask m => MonadMask (StackLoggingT m) Source | |
MonadIO m => MonadLogger (StackLoggingT m) Source | Takes the configured log level into account. |
MonadIO m => MonadIO (StackLoggingT m) Source | |
type StT StackLoggingT a Source | |
type StM (StackLoggingT m) a = ComposeSt StackLoggingT m a Source |
runStackT :: (MonadIO m, MonadBaseControl IO m) => Manager -> LogLevel -> config -> Bool -> Bool -> StackT config m a -> m a Source
Run a Stack action.
runStackTGlobal :: (MonadIO m, MonadBaseControl IO m) => Manager -> config -> GlobalOpts -> StackT config m a -> m a Source
Run a Stack action, using global options.
runStackLoggingT :: MonadIO m => Manager -> LogLevel -> Bool -> Bool -> StackLoggingT m a -> m a Source
Run the logging monad.
runStackLoggingTGlobal :: MonadIO m => Manager -> GlobalOpts -> StackLoggingT m a -> m a Source
Run the logging monad, using global options.
runInnerStackT :: (HasHttpManager r, HasLogLevel r, HasTerminal r, HasReExec r, MonadReader r m, MonadIO m) => config -> StackT config IO a -> m a Source
runInnerStackLoggingT :: (HasHttpManager r, HasLogLevel r, HasTerminal r, HasReExec r, MonadReader r m, MonadIO m) => StackLoggingT IO a -> m a Source
newTLSManager :: MonadIO m => m Manager Source
Convenience for getting a Manager
Write a "sticky" line to the terminal. Any subsequent lines will
overwrite this one, and that same line will be repeated below
again. In other words, the line sticks at the bottom of the output
forever. Running this function again will replace the sticky line
with a new sticky line. When you want to get rid of the sticky
line, run logStickyDone
.
logStickyDone :: Q Exp Source
This will print out the given message with a newline and disable
any further stickiness of the line until a new call to logSticky
happens.
It might be better at some point to have a runSticky
function
that encompasses the logSticky->logStickyDone pairing.