process-conduit 0.0.3 → 0.0.4
raw patch · 3 files changed
+17/−5 lines, 3 files
Files
- Data/Conduit/Process.hs +6/−2
- System/Process/QQ.hs +4/−0
- process-conduit.cabal +7/−3
Data/Conduit/Process.hs view
@@ -1,9 +1,9 @@ module Data.Conduit.Process (- -- * run process+ -- * Run process sourceProcess, conduitProcess, - -- * run command+ -- * Run shell command sourceCmd, conduitCmd, @@ -30,9 +30,11 @@ bufSize :: Int bufSize = 64 * 1024 +-- | Source of process sourceProcess :: C.ResourceIO m => CreateProcess -> C.Source m B.ByteString sourceProcess cp = CL.sourceNull C.$= conduitProcess cp +-- | Conduit of process conduitProcess :: C.ResourceIO m => CreateProcess -> C.Conduit B.ByteString m B.ByteString conduitProcess cp = C.conduitIO alloc cleanup push close where@@ -73,9 +75,11 @@ str <- B.hGetContents cout return [str] +-- | Source of shell command sourceCmd :: C.ResourceIO m => String -> C.Source m B.ByteString sourceCmd cmd = CL.sourceNull C.$= conduitCmd cmd +-- | Conduit of shell command conduitCmd :: C.ResourceIO m => String -> C.Conduit B.ByteString m B.ByteString
System/Process/QQ.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE TemplateHaskell #-} module System.Process.QQ (+ -- * Quasi Quoters cmd, scmd, ccmd,@@ -24,13 +25,16 @@ , quoteDec = undefined } +-- | Command result of (Lazy) ByteString. cmd :: QuasiQuoter cmd = def { quoteExp = \str -> [| BL.fromChunks <$> C.runResourceT (sourceCmd (LT.unpack $(quoteExp lt str)) C.$$ CL.consume) |] } +-- | Source of shell command scmd :: QuasiQuoter scmd = def { quoteExp = \str -> [| sourceCmd $(quoteExp lt str) |] } +-- | Conduit of shell command ccmd :: QuasiQuoter ccmd = def { quoteExp = \str -> [| conduitCmd $(quoteExp lt str) |] }
process-conduit.cabal view
@@ -1,7 +1,11 @@ Name: process-conduit-Version: 0.0.3-Synopsis: Conduit for process-Description: Conduit for process+Version: 0.0.4+Synopsis: Conduits for processes++Description:+ Conduits for processes.+ For more details: <https://github.com/tanakh/process-conduit/blob/master/README.md>+ Homepage: http://github.com/tanakh/process-conduit License: BSD3 License-file: LICENSE