shh-0.1.0.0: src/Shh.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE GADTs #-}
-- | Shh provides a shell-like environment for Haskell.
module Shh
( initInteractive
-- | == Constructing a `Proc`
-- You will rarely have to use these as most of the time these are
-- created for you by using the `loadEnv` template Haskell function.
, exe
, mkProc
, runProc
, Proc()
-- | == Piping and Redirection
, PipeResult(..)
, (<|)
, Stream(..)
, devNull
-- | == Reading @stdout@
, readProc
, withRead
, trim
, readTrim
, split0
, readSplit0
, readLines
, readAuto
-- | == Writing to @stdin@
, writeProc
, (<<<), (>>>)
, readWriteProc
, mapP
-- | == Exceptions
-- If any exception is allowed to propagate out of a pipeline, all the
-- processes comprising the pipeline will be terminated. This is contrary
-- to how a shell normally works (even with @-o pipefail@!).
, Failure(..)
, ignoreFailure
, catchFailure
, catchCode
-- | == Constructing Arguments
, ExecArg(..)
-- | == Template Haskell helpers
, loadEnv
, loadAnnotatedEnv
, loadExe
, loadExeAs
) where
import Shh.Internal