diff options
| -rw-r--r-- | Plugins/PipeReader.hs | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/Plugins/PipeReader.hs b/Plugins/PipeReader.hs new file mode 100644 index 0000000..8fa2e8e --- /dev/null +++ b/Plugins/PipeReader.hs @@ -0,0 +1,28 @@ +----------------------------------------------------------------------------- +-- | +-- Module      :  Plugins.PipeReader +-- Copyright   :  (c) Andrea Rossato +-- License     :  BSD-style (see LICENSE) +--  +-- Maintainer  :  Andrea Rossato <andrea.rossato@unibz.it> +-- Stability   :  unstable +-- Portability :  unportable +-- +-- A plugin for reading from named pipes +-- +----------------------------------------------------------------------------- + +module Plugins.PipeReader where + +import System.IO +import Plugins + +data PipeReader = PipeReader String +    deriving (Read, Show) + +instance Exec PipeReader where  +    alias (PipeReader p)    = p +    start (PipeReader p) cb = do +        h <- openFile p ReadMode +        forever (hGetLine h >>= cb) +        where forever a = a >> forever a | 
