summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Parsing.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2014-07-20 13:51:03 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2014-07-20 13:51:03 -0700
commitcdc4ecbe98471512b6751c4068002218b5b28f33 (patch)
treea7dab9b7764b9b5130480a403768f3a4935e61df /src/Text/Pandoc/Parsing.hs
parent87096c64f8707c660303a45e16bc1b6741781542 (diff)
readWith: reverted generalization from f201bdcb.
We need input to be a string so we can print the offending line on an error.
Diffstat (limited to 'src/Text/Pandoc/Parsing.hs')
-rw-r--r--src/Text/Pandoc/Parsing.hs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index f77ce60d8..54c645fc5 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -826,10 +826,10 @@ gridTableFooter = blanklines
---
-- | Parse a string with a given parser and state.
-readWith :: (Show s, Stream s Identity Char)
- => ParserT s st Identity a -- ^ parser
- -> st -- ^ initial state
- -> s -- ^ input
+readWith :: (Stream [Char] Identity Char)
+ => ParserT [Char] st Identity a -- ^ parser
+ -> st -- ^ initial state
+ -> [Char] -- ^ input
-> a
readWith parser state input =
case runParser parser state "source" input of
@@ -837,16 +837,16 @@ readWith parser state input =
let errPos = errorPos err'
errLine = sourceLine errPos
errColumn = sourceColumn errPos
- theline = (lines (show input) ++ [""]) !! (errLine - 1)
+ theline = (lines input ++ [""]) !! (errLine - 1)
in error $ "\nError at " ++ show err' ++ "\n" ++
theline ++ "\n" ++ replicate (errColumn - 1) ' ' ++
"^"
Right result -> result
-- | Parse a string with @parser@ (for testing).
-testStringWith :: (Show s, Show a, Stream s Identity Char)
- => ParserT s ParserState Identity a
- -> s
+testStringWith :: (Show a, Stream [Char] Identity Char)
+ => ParserT [Char] ParserState Identity a
+ -> [Char]
-> IO ()
testStringWith parser str = UTF8.putStrLn $ show $
readWith parser defaultParserState str