git.iko.soy/typeable/pandoc
on master help sign in
Readers: pass errors straight up to PandocMonad.
650fa20Jesse Rosenthal
src/Text/Pandoc/Readers/LaTeX.hs+1−1
@@ -68,7 +68,7 @@ readLaTeX opts ltx = do
68 parsed <- readWithM parseLaTeX def{ stateOptions = opts } ltx
68 parsed <- readWithM parseLaTeX def{ stateOptions = opts } ltx
69 case parsed of
69 case parsed of
70 Right result -> return result
70 Right result -> return result
71− Left _ -> throwError $ PandocParseError "parsing error"
71+ Left e -> throwError e
72
72
73parseLaTeX :: PandocMonad m => LP m Pandoc
73parseLaTeX :: PandocMonad m => LP m Pandoc
74parseLaTeX = do
74parseLaTeX = do
src/Text/Pandoc/Readers/Markdown.hs+1−2
@@ -68,7 +68,6 @@ import Debug.Trace (trace)
68import Data.Monoid ((<>))
68import Data.Monoid ((<>))
69import Control.Monad.Trans (lift)
69import Control.Monad.Trans (lift)
70import Control.Monad.Except (throwError, catchError)
70import Control.Monad.Except (throwError, catchError)
71−import Text.Pandoc.Error
72import Text.Pandoc.Class (PandocMonad)
71import Text.Pandoc.Class (PandocMonad)
73import qualified Text.Pandoc.Class as P
72import qualified Text.Pandoc.Class as P
74
73
@@ -83,7 +82,7 @@ readMarkdown opts s = do
83 parsed <- (readWithM parseMarkdown) def{ stateOptions = opts } (s ++ "\n\n")
82 parsed <- (readWithM parseMarkdown) def{ stateOptions = opts } (s ++ "\n\n")
84 case parsed of
83 case parsed of
85 Right result -> return result
84 Right result -> return result
86− Left _ -> throwError $ PandocParseError "markdown parse error"
85+ Left e -> throwError e
87
86
88-- | Read markdown from an input string and return a pair of a Pandoc document
87-- | Read markdown from an input string and return a pair of a Pandoc document
89-- and a list of warnings.
88-- and a list of warnings.
src/Text/Pandoc/Readers/MediaWiki.hs+1−2
@@ -58,7 +58,6 @@ import Data.Maybe (fromMaybe)
58import Text.Printf (printf)
58import Text.Printf (printf)
59import Debug.Trace (trace)
59import Debug.Trace (trace)
60import Control.Monad.Except (throwError)
60import Control.Monad.Except (throwError)
61−import Text.Pandoc.Error(PandocError(..))
62import Text.Pandoc.Class (PandocMonad)
61import Text.Pandoc.Class (PandocMonad)
63
62
64-- | Read mediawiki from an input string and return a Pandoc document.
63-- | Read mediawiki from an input string and return a Pandoc document.
@@ -77,7 +76,7 @@ readMediaWiki opts s = do
77 (s ++ "\n")
76 (s ++ "\n")
78 case parsed of
77 case parsed of
79 Right result -> return result
78 Right result -> return result
80− Left _ -> throwError $ PandocParseError "problem parsing mediawiki"
79+ Left e -> throwError e
81
80
82data MWState = MWState { mwOptions :: ReaderOptions
81data MWState = MWState { mwOptions :: ReaderOptions
83 , mwMaxNestingLevel :: Int
82 , mwMaxNestingLevel :: Int
src/Text/Pandoc/Readers/Odt.hs+1−1
@@ -64,7 +64,7 @@ readOdt opts bytes = case readOdt' opts bytes of
64 Right (doc, mb) -> do
64 Right (doc, mb) -> do
65 P.setMediaBag mb
65 P.setMediaBag mb
66 return doc
66 return doc
67− Left _ -> throwError $ PandocParseError "couldn't parse odt"
67+ Left e -> throwError e
68
68
69--
69--
70readOdt' :: ReaderOptions
70readOdt' :: ReaderOptions
src/Text/Pandoc/Readers/RST.hs+1−2
@@ -51,7 +51,6 @@ import Data.Char (toLower, isHexDigit, isSpace)
51import Data.Monoid ((<>))
51import Data.Monoid ((<>))
52import Control.Monad.Except (throwError)
52import Control.Monad.Except (throwError)
53import Control.Monad.Trans (lift)
53import Control.Monad.Trans (lift)
54−import Text.Pandoc.Error
55import Text.Pandoc.Class (PandocMonad)
54import Text.Pandoc.Class (PandocMonad)
56import qualified Text.Pandoc.Class as P
55import qualified Text.Pandoc.Class as P
57
56
@@ -64,7 +63,7 @@ readRST opts s = do
64 parsed <- (readWithM parseRST) def{ stateOptions = opts } (s ++ "\n\n")
63 parsed <- (readWithM parseRST) def{ stateOptions = opts } (s ++ "\n\n")
65 case parsed of
64 case parsed of
66 Right result -> return result
65 Right result -> return result
67− Left _ -> throwError $ PandocParseError "error parsing rst"
66+ Left e -> throwError e
68
67
69readRSTWithWarnings :: PandocMonad m
68readRSTWithWarnings :: PandocMonad m
70 => ReaderOptions -- ^ Reader options
69 => ReaderOptions -- ^ Reader options
src/Text/Pandoc/Readers/TWiki.hs+1−1
@@ -60,7 +60,7 @@ readTWiki opts s = case readTWikiWithWarnings' opts s of
60 Right (doc, warns) -> do
60 Right (doc, warns) -> do
61 mapM_ P.warn warns
61 mapM_ P.warn warns
62 return doc
62 return doc
63− Left _ -> throwError $ PandocParseError "couldn't parse TWiki"
63+ Left e -> throwError e
64
64
65readTWikiWithWarnings' :: ReaderOptions -- ^ Reader options
65readTWikiWithWarnings' :: ReaderOptions -- ^ Reader options
66 -> String -- ^ String to parse (assuming @'\n'@ line endings)
66 -> String -- ^ String to parse (assuming @'\n'@ line endings)
src/Text/Pandoc/Readers/Textile.hs+1−2
@@ -68,7 +68,6 @@ import Control.Monad ( guard, liftM, when )
68import Data.Monoid ((<>))
68import Data.Monoid ((<>))
69import Text.Printf
69import Text.Printf
70import Debug.Trace (trace)
70import Debug.Trace (trace)
71−import Text.Pandoc.Error
72import Text.Pandoc.Class (PandocMonad)
71import Text.Pandoc.Class (PandocMonad)
73import Control.Monad.Except (throwError)
72import Control.Monad.Except (throwError)
74
73
@@ -81,7 +80,7 @@ readTextile opts s = do
81 parsed <- readWithM parseTextile def{ stateOptions = opts } (s ++ "\n\n")
80 parsed <- readWithM parseTextile def{ stateOptions = opts } (s ++ "\n\n")
82 case parsed of
81 case parsed of
83 Right result -> return result
82 Right result -> return result
84− Left _ -> throwError $ PandocParseError "textile parse error"
83+ Left e -> throwError e
85
84
86
85
87-- | Generate a Pandoc ADT from a textile document
86-- | Generate a Pandoc ADT from a textile document
src/Text/Pandoc/Readers/Txt2Tags.hs+1−2
@@ -50,7 +50,6 @@ import Control.Monad.Reader (Reader, runReader, asks)
50import Data.Time.Format (formatTime)
50import Data.Time.Format (formatTime)
51import Text.Pandoc.Compat.Time (defaultTimeLocale)
51import Text.Pandoc.Compat.Time (defaultTimeLocale)
52import Control.Monad.Except (throwError, catchError)
52import Control.Monad.Except (throwError, catchError)
53−import Text.Pandoc.Error
54import Text.Pandoc.Class (PandocMonad)
53import Text.Pandoc.Class (PandocMonad)
55import qualified Text.Pandoc.Class as P
54import qualified Text.Pandoc.Class as P
56
55
@@ -99,7 +98,7 @@ readTxt2Tags opts s = do
99 let parsed = flip runReader meta $ readWithM parseT2T (def {stateOptions = opts}) (s ++ "\n\n")
98 let parsed = flip runReader meta $ readWithM parseT2T (def {stateOptions = opts}) (s ++ "\n\n")
100 case parsed of
99 case parsed of
101 Right result -> return $ result
100 Right result -> return $ result
102− Left _ -> throwError $ PandocParseError "error parsing t2t"
101+ Left e -> throwError e
103
102
104-- | Read Txt2Tags (ignoring all macros) from an input string returning
103-- | Read Txt2Tags (ignoring all macros) from an input string returning
105-- a Pandoc document
104-- a Pandoc document