packages feed

shell-conduit 4.2 → 4.3

raw patch · 5 files changed

+41/−8 lines, 5 files

Files

shell-conduit.cabal view
@@ -1,5 +1,5 @@ name:                shell-conduit-version:             4.2+version:             4.3 synopsis:            Write shell scripts with Conduit description:         Write shell scripts with Conduit. See "Data.Conduit.Shell" for documentation. license:             BSD3@@ -19,6 +19,7 @@                      Data.Conduit.Shell.TH                      Data.Conduit.Shell.Process                      Data.Conduit.Shell.Types+                     Data.Conduit.Shell.Segments                      Data.Conduit.Shell.Variadic   build-depends:     async >= 2.0.1.5                    , base >= 4 && <5
src/Data/Conduit/Shell.hs view
@@ -110,11 +110,11 @@   where  import Data.Conduit-import qualified Data.Conduit.Shell.PATH-import Data.Conduit.Shell.PATH+import Data.Conduit.Shell.PATH hiding (strings) import Data.Conduit.Shell.Process import Data.Conduit.Shell.Types import Data.Conduit.Shell.Variadic+import qualified Data.Text.Encoding as T  -- $exports --
src/Data/Conduit/Shell/PATH.hs view
@@ -7,10 +7,18 @@  module Data.Conduit.Shell.PATH where -import Control.Monad-import Data.Conduit.Shell.Process-import Data.Conduit.Shell.TH-import Data.List-import Prelude+import           Control.Monad+import           Control.Monad.IO.Class+import           Data.Conduit.Shell.Process+import           Data.Conduit.Shell.TH+import           Data.Conduit.Shell.Variadic+import           Data.List+import qualified Data.Text as T (unpack)+import           Prelude+import           System.Directory++-- | Helpful CD command.+cd :: (MonadIO m,CmdArg arg) => arg -> m ()+cd fp = liftIO (setCurrentDirectory (T.unpack (toTextArg fp)))  $(generateBinaries)
src/Data/Conduit/Shell/Process.hs view
@@ -18,6 +18,7 @@   ,Segment   ,ProcessException(..)   ,ToChunk(..)+  ,tryS   )   where 
+ src/Data/Conduit/Shell/Segments.hs view
@@ -0,0 +1,23 @@+-- | Helpful segment combinators.++module Data.Conduit.Shell.Segments where++import qualified Data.ByteString.Char8 as S8+import           Data.Conduit+import qualified Data.Conduit.List as CL+import qualified Data.Conduit.Binary as CB+import           Data.Conduit.Shell.Process+import           Data.Text (Text)+import qualified Data.Text.Encoding as T++-- | Extract the 'String' values from a segment.+strings :: Segment () -> Segment [String]+strings s = s $| conduit (CB.lines $= CL.map S8.unpack $= CL.consume)++-- | Extract the 'Text' values from a segment.+texts :: Segment () -> Segment [Text]+texts s = s $| conduit (CB.lines $= CL.map T.decodeUtf8 $= CL.consume)++-- | Ignore any output from a segment.+ignore :: Segment () -> Segment ()+ignore s = fmap (const ()) (s $| conduit (CL.consume))