git.iko.soy/typeable/pandoc
on master help sign in
MediaWiki reader: Support --trace.
8f20ac3John MacFarlane
src/Text/Pandoc/Readers/MediaWiki.hs+10−1
@@ -55,6 +55,8 @@ import qualified Data.Foldable as F
55import qualified Data.Map as M
55import qualified Data.Map as M
56import Data.Char (isDigit, isSpace)
56import Data.Char (isDigit, isSpace)
57import Data.Maybe (fromMaybe)
57import Data.Maybe (fromMaybe)
58+import Text.Printf (printf)
59+import Debug.Trace (trace)
58
60
59-- | Read mediawiki from an input string and return a Pandoc document.
61-- | Read mediawiki from an input string and return a Pandoc document.
60readMediaWiki :: ReaderOptions -- ^ Reader options
62readMediaWiki :: ReaderOptions -- ^ Reader options
@@ -187,7 +189,10 @@ parseMediaWiki = do
187--
189--
188
190
189block :: MWParser Blocks
191block :: MWParser Blocks
192+block = do
193+ tr <- getOption readerTrace
194+ pos <- getPosition
190−block = mempty <$ skipMany1 blankline
195+ res <- mempty <$ skipMany1 blankline
191 <|> table
196 <|> table
192 <|> header
197 <|> header
193 <|> hrule
198 <|> hrule
@@ -199,6 +204,10 @@ block = mempty <$ skipMany1 blankline
199 <|> blockTag
204 <|> blockTag
200 <|> (B.rawBlock "mediawiki" <$> template)
205 <|> (B.rawBlock "mediawiki" <$> template)
201 <|> para
206 <|> para
207+ when tr $
208+ trace (printf "line %d: %s" (sourceLine pos)
209+ (take 60 $ show $ B.toList res)) (return ())
210+ return res
202
211
203para :: MWParser Blocks
212para :: MWParser Blocks
204para = do
213para = do