summaryrefslogtreecommitdiffhomepage
path: root/src/Plugins/StdinReader.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Plugins/StdinReader.hs')
-rw-r--r--src/Plugins/StdinReader.hs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/Plugins/StdinReader.hs b/src/Plugins/StdinReader.hs
index fddd0bc..f242f93 100644
--- a/src/Plugins/StdinReader.hs
+++ b/src/Plugins/StdinReader.hs
@@ -20,15 +20,16 @@ import System.Exit
import System.IO
import Control.Exception (SomeException(..), handle)
import Plugins
+import Actions (stripActions)
-data StdinReader = StdinReader
- deriving (Read, Show)
+data StdinReader = StdinReader deriving (Read, Show)
instance Exec StdinReader where
- start StdinReader cb = do
- cb =<< handle (\(SomeException e) -> do hPrint stderr e; return "")
- (hGetLineSafe stdin)
- eof <- hIsEOF stdin
- if eof
- then exitImmediately ExitSuccess
- else start StdinReader cb
+ start StdinReader cb = do
+ s <- handle (\(SomeException e) -> do hPrint stderr e; return "")
+ (hGetLineSafe stdin)
+ cb (stripActions s)
+ eof <- hIsEOF stdin
+ if eof
+ then exitImmediately ExitSuccess
+ else start StdinReader cb