aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Native.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Readers/Native.hs')
-rw-r--r--src/Text/Pandoc/Readers/Native.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Native.hs b/src/Text/Pandoc/Readers/Native.hs
index 917a4a144..489ddcd4a 100644
--- a/src/Text/Pandoc/Readers/Native.hs
+++ b/src/Text/Pandoc/Readers/Native.hs
@@ -33,6 +33,7 @@ module Text.Pandoc.Readers.Native ( readNative ) where
import Text.Pandoc.Definition
import Text.Pandoc.Shared (safeRead)
+import Control.Monad.Except (throwError)
import Text.Pandoc.Error
import Text.Pandoc.Class
@@ -48,9 +49,11 @@ import Text.Pandoc.Class
--
readNative :: PandocMonad m
=> String -- ^ String to parse (assuming @'\n'@ line endings)
- -> m (Either PandocError Pandoc)
+ -> m Pandoc
readNative s =
- return $ maybe (Pandoc nullMeta <$> readBlocks s) Right (safeRead s)
+ case maybe (Pandoc nullMeta <$> readBlocks s) Right (safeRead s) of
+ Right doc -> return doc
+ Left _ -> throwError $ PandocParseError "couldn't read native"
readBlocks :: String -> Either PandocError [Block]
readBlocks s = maybe ((:[]) <$> readBlock s) Right (safeRead s)