@@ -91,14 +91,13 @@ import Text.Pandoc.Parsing (F, ParserState, ParserT, blanklines, emailAddress,
91 registerHeader, runF, spaceChar, stateMeta',
91 registerHeader, runF, spaceChar, stateMeta',
92 stateOptions, uri)
92 stateOptions, uri)
93import Text.Pandoc.Shared (crFilter, splitBy, stringify, stripFirstAndLast)
93import Text.Pandoc.Shared (crFilter, splitBy, stringify, stripFirstAndLast)
94+import Text.Parsec.Char
94−import Text.Parsec.Char (alphaNum, anyChar, char, newline, noneOf, spaces,
95+ (alphaNum, anyChar, char, newline, noneOf, spaces, string, oneOf,
96−import Text.Parsec.Char (oneOf, space)
97−import Text.Parsec.Combinator (choice, count, eof, many1, manyTill,
97+import Text.Parsec.Combinator
98− notFollowedBy, option, skipMany1)
98+ (choice, count, eof, many1, manyTill, notFollowedBy, option,
99−import Text.Parsec.Combinator (between, lookAhead)
99+ skipMany1, between, lookAhead)
100−import Text.Parsec.Prim (getState, many, try, updateState)
100+import Text.Parsec.Prim (getState, many, try, updateState, (<|>))
101−import Text.Parsec.Prim ((<|>))
103readVimwiki :: PandocMonad m => ReaderOptions -> Text -> m Pandoc
102readVimwiki :: PandocMonad m => ReaderOptions -> Text -> m Pandoc
104readVimwiki opts s = do
103readVimwiki opts s = do
@@ -161,9 +160,9 @@ header = try $ do
161 let lev = length eqs
160 let lev = length eqs
162 guard $ lev <= 6
161 guard $ lev <= 6
163 contents <- trimInlines . mconcat <$> manyTill inline (try $ spaceChar
162 contents <- trimInlines . mconcat <$> manyTill inline (try $ spaceChar
164− >> (string eqs) >> many spaceChar >> newline)
163+ >> string eqs >> many spaceChar >> newline)
165 attr <- registerHeader (makeId contents,
164 attr <- registerHeader (makeId contents,
166− (if sp == "" then [] else ["justcenter"]), []) contents
165+ if sp == "" then [] else ["justcenter"], []) contents
167 return $ B.headerWith attr lev contents
166 return $ B.headerWith attr lev contents
169para :: PandocMonad m => VwParser m Blocks
168para :: PandocMonad m => VwParser m Blocks
@@ -191,22 +190,22 @@ blockQuote = try $ do
192definitionList :: PandocMonad m => VwParser m Blocks
191definitionList :: PandocMonad m => VwParser m Blocks
193definitionList = try $
192definitionList = try $
194− B.definitionList <$> (many1 (dlItemWithDT <|> dlItemWithoutDT))
193+ B.definitionList <$> many1 (dlItemWithDT <|> dlItemWithoutDT)
196dlItemWithDT :: PandocMonad m => VwParser m (Inlines, [Blocks])
195dlItemWithDT :: PandocMonad m => VwParser m (Inlines, [Blocks])
197dlItemWithDT = do
196dlItemWithDT = do
198 dt <- definitionTerm
197 dt <- definitionTerm
199 dds <- many definitionDef
198 dds <- many definitionDef
200− return $ (dt, dds)
199+ return (dt, dds)
202dlItemWithoutDT :: PandocMonad m => VwParser m (Inlines, [Blocks])
201dlItemWithoutDT :: PandocMonad m => VwParser m (Inlines, [Blocks])
203dlItemWithoutDT = do
202dlItemWithoutDT = do
204 dds <- many1 definitionDef
203 dds <- many1 definitionDef
205− return $ (mempty, dds)
204+ return (mempty, dds)
207definitionDef :: PandocMonad m => VwParser m Blocks
206definitionDef :: PandocMonad m => VwParser m Blocks
208definitionDef = try $
207definitionDef = try $
209− (notFollowedBy definitionTerm) >> many spaceChar
208+ notFollowedBy definitionTerm >> many spaceChar
210 >> (definitionDef1 <|> definitionDef2)
209 >> (definitionDef1 <|> definitionDef2)
212definitionDef1 :: PandocMonad m => VwParser m Blocks
211definitionDef1 :: PandocMonad m => VwParser m Blocks
@@ -220,16 +219,16 @@ definitionDef2 = try $ B.plain <$>
220definitionTerm :: PandocMonad m => VwParser m Inlines
219definitionTerm :: PandocMonad m => VwParser m Inlines
221definitionTerm = try $ do
220definitionTerm = try $ do
222 x <- definitionTerm1 <|> definitionTerm2
221 x <- definitionTerm1 <|> definitionTerm2
223− guard $ (stringify x /= "")
222+ guard (stringify x /= "")
226definitionTerm1 :: PandocMonad m => VwParser m Inlines
225definitionTerm1 :: PandocMonad m => VwParser m Inlines
227definitionTerm1 = try $
226definitionTerm1 = try $
228− trimInlines . mconcat <$> manyTill inline' (try $ defMarkerE)
227+ trimInlines . mconcat <$> manyTill inline' (try defMarkerE)
230definitionTerm2 :: PandocMonad m => VwParser m Inlines
229definitionTerm2 :: PandocMonad m => VwParser m Inlines
231definitionTerm2 = try $ trimInlines . mconcat <$> manyTill inline'
230definitionTerm2 = try $ trimInlines . mconcat <$> manyTill inline'
232− (try $ lookAhead $ (defMarkerM >> notFollowedBy hasDefMarkerM))
231+ (try $lookAhead (defMarkerM >> notFollowedBy hasDefMarkerM))
234defMarkerM :: PandocMonad m => VwParser m Char
233defMarkerM :: PandocMonad m => VwParser m Char
235defMarkerM = string "::" >> spaceChar
234defMarkerM = string "::" >> spaceChar
@@ -247,14 +246,14 @@ preformatted = try $ do
247 lookAhead newline
246 lookAhead newline
248 contents <- manyTill anyChar (try (char '\n' >> many spaceChar >> string "}}}"
247 contents <- manyTill anyChar (try (char '\n' >> many spaceChar >> string "}}}"
249 >> many spaceChar >> newline))
248 >> many spaceChar >> newline))
250− if (not $ contents == "") && (head contents == '\n')
249+ if not (contents == "") && (head contents == '\n')
251 then return $ B.codeBlockWith (makeAttr attrText) (tail contents)
250 then return $ B.codeBlockWith (makeAttr attrText) (tail contents)
252 else return $ B.codeBlockWith (makeAttr attrText) contents
251 else return $ B.codeBlockWith (makeAttr attrText) contents
254makeAttr :: String -> Attr
253makeAttr :: String -> Attr
255makeAttr s =
254makeAttr s =
256 let xs = splitBy (`elem` " \t") s in
255 let xs = splitBy (`elem` " \t") s in
257− ("", [], catMaybes $ map nameValue xs)
256+ ("", [], mapMaybe nameValue xs)
259nameValue :: String -> Maybe (String, String)
258nameValue :: String -> Maybe (String, String)
260nameValue s =
259nameValue s =
@@ -262,7 +261,7 @@ nameValue s =
262 if length t /= 2
261 if length t /= 2
263 then Nothing
262 then Nothing
264 else let (a, b) = (head t, last t) in
263 else let (a, b) = (head t, last t) in
265− if ((length b) < 2) || ((head b, last b) /= ('"', '"'))
264+ if (length b < 2) || ((head b, last b) /= ('"', '"'))
266 then Nothing
265 then Nothing
267 else Just (a, stripFirstAndLast b)
266 else Just (a, stripFirstAndLast b)
@@ -317,12 +316,12 @@ mixedList' prevInd = do
317 if lowInd >= curInd
316 if lowInd >= curInd
319 (sameIndList, endInd) <- (mixedList' lowInd)
318 (sameIndList, endInd) <- (mixedList' lowInd)
320− let curList = (combineList curLine subList) ++ sameIndList
319+ let curList = combineList curLine subList ++ sameIndList
321 if curInd > prevInd
320 if curInd > prevInd
322 then return ([listBuilder curList], endInd)
321 then return ([listBuilder curList], endInd)
323 else return (curList, endInd)
322 else return (curList, endInd)
325− let (curList, endInd) = ((combineList curLine subList),
324+ let (curList, endInd) = (combineList curLine subList,
327 if curInd > prevInd
326 if curInd > prevInd
328 then return ([listBuilder curList], endInd)
327 then return ([listBuilder curList], endInd)
@@ -335,7 +334,7 @@ plainInlineML' w = do
335 return $ B.plain $ trimInlines $ mconcat $ w:xs
334 return $ B.plain $ trimInlines $ mconcat $ w:xs
337plainInlineML :: PandocMonad m => VwParser m Blocks
336plainInlineML :: PandocMonad m => VwParser m Blocks
338−plainInlineML = (notFollowedBy listStart) >> spaceChar >> plainInlineML' mempty
337+plainInlineML = notFollowedBy listStart >> spaceChar >> plainInlineML' mempty
341listItemContent :: PandocMonad m => VwParser m Blocks
340listItemContent :: PandocMonad m => VwParser m Blocks
@@ -372,9 +371,9 @@ makeListMarkerSpan x =
373combineList :: Blocks -> [Blocks] -> [Blocks]
372combineList :: Blocks -> [Blocks] -> [Blocks]
374combineList x [y] = case toList y of
373combineList x [y] = case toList y of
375− [BulletList z] -> [fromList $ (toList x)
374+ [BulletList z] -> [fromList $ toList x
376 ++ [BulletList z]]
375 ++ [BulletList z]]
377− [OrderedList attr z] -> [fromList $ (toList x)
376+ [OrderedList attr z] -> [fromList $ toList x
378 ++ [OrderedList attr z]]
377 ++ [OrderedList attr z]]
379 _ -> x:[y]
378 _ -> x:[y]
380combineList x xs = x:xs
379combineList x xs = x:xs
@@ -391,7 +390,7 @@ bulletListMarkers = "ul" <$ (char '*' <|> char '-')
392orderedListMarkers :: PandocMonad m => VwParser m String
391orderedListMarkers :: PandocMonad m => VwParser m String
393orderedListMarkers =
392orderedListMarkers =
394− ("ol" <$ (choice $ (orderedListMarker Decimal Period):(($OneParen)
393+ ("ol" <$choice ((orderedListMarker Decimal Period):(($OneParen)
395 <$> orderedListMarker
394 <$> orderedListMarker
396 <$> [Decimal, LowerRoman, UpperRoman, LowerAlpha, UpperAlpha])))
395 <$> [Decimal, LowerRoman, UpperRoman, LowerAlpha, UpperAlpha])))
397 <|> ("ol" <$ char '#')
396 <|> ("ol" <$ char '#')
@@ -418,11 +417,11 @@ table1 = try $ do
418table2 :: PandocMonad m => VwParser m ([Blocks], [[Blocks]])
417table2 :: PandocMonad m => VwParser m ([Blocks], [[Blocks]])
419table2 = try $ do
418table2 = try $ do
420 trs <- many1 tableRow
419 trs <- many1 tableRow
421− return (take (length $ head trs) $ repeat mempty, trs)
420+ return (replicate (length $ head trs) mempty, trs)
423tableHeaderSeparator :: PandocMonad m => VwParser m ()
422tableHeaderSeparator :: PandocMonad m => VwParser m ()
424tableHeaderSeparator = try $ do
423tableHeaderSeparator = try $ do
425− many spaceChar >> char '|' >> many1 ((many1 $ char '-') >> char '|')
424+ many spaceChar >> char '|' >> many1 (many1 (char '-') >> char '|')
426 >> many spaceChar >> newline
425 >> many spaceChar >> newline
427 return ()
426 return ()
@@ -438,16 +437,16 @@ tableRow = try $ do
439tableCell :: PandocMonad m => VwParser m Blocks
438tableCell :: PandocMonad m => VwParser m Blocks
440tableCell = try $
439tableCell = try $
441− B.plain <$> trimInlines . mconcat <$> (manyTill inline' (char '|'))
440+ B.plain . trimInlines . mconcat <$> (manyTill inline' (char '|'))
443placeholder :: PandocMonad m => VwParser m ()
442placeholder :: PandocMonad m => VwParser m ()
444placeholder = try $
443placeholder = try $
445− (choice (ph <$> ["title", "date"])) <|> noHtmlPh <|> templatePh
444+ choice (ph <$> ["title", "date"]) <|> noHtmlPh <|> templatePh
447ph :: PandocMonad m => String -> VwParser m ()
446ph :: PandocMonad m => String -> VwParser m ()
448ph s = try $ do
447ph s = try $ do
449− many spaceChar >> (string $ '%':s) >> spaceChar
448+ many spaceChar >>string ('%':s) >> spaceChar
450− contents <- (trimInlines . mconcat <$> (manyTill inline (lookAhead newline)))
449+ contents <- trimInlines . mconcat <$> (manyTill inline (lookAhead newline))
451 --use lookAhead because of placeholder in the whitespace parser
450 --use lookAhead because of placeholder in the whitespace parser
452 let meta' = return $ B.setMeta s contents nullMeta :: F Meta
451 let meta' = return $ B.setMeta s contents nullMeta :: F Meta
453 updateState $ \st -> st { stateMeta' = stateMeta' st <> meta' }
452 updateState $ \st -> st { stateMeta' = stateMeta' st <> meta' }
@@ -455,17 +454,17 @@ ph s = try $ do
455noHtmlPh :: PandocMonad m => VwParser m ()
454noHtmlPh :: PandocMonad m => VwParser m ()
456noHtmlPh = try $
455noHtmlPh = try $
457 () <$ (many spaceChar >> string "%nohtml" >> many spaceChar
456 () <$ (many spaceChar >> string "%nohtml" >> many spaceChar
458− >> (lookAhead newline))
457+ >> lookAhead newline)
460templatePh :: PandocMonad m => VwParser m ()
459templatePh :: PandocMonad m => VwParser m ()
461templatePh = try $
460templatePh = try $
462− () <$ (many spaceChar >> string "%template" >> (many $ noneOf "\n")
461+ () <$ (many spaceChar >> string "%template" >>many (noneOf "\n")
463− >> (lookAhead newline))
462+ >> lookAhead newline)
465-- inline parser
464-- inline parser
467inline :: PandocMonad m => VwParser m Inlines
466inline :: PandocMonad m => VwParser m Inlines
468−inline = choice $ (whitespace endlineP):inlineList
467+inline = choice $ whitespace endlineP:inlineList
470inlineList :: PandocMonad m => [VwParser m Inlines]
469inlineList :: PandocMonad m => [VwParser m Inlines]
471inlineList = [ bareURL
470inlineList = [ bareURL
@@ -490,18 +489,18 @@ inline' = choice $ whitespace':inlineList
491-- inline parser for blockquotes
490-- inline parser for blockquotes
492inlineBQ :: PandocMonad m => VwParser m Inlines
491inlineBQ :: PandocMonad m => VwParser m Inlines
493−inlineBQ = choice $ (whitespace endlineBQ):inlineList
492+inlineBQ = choice $ whitespace endlineBQ:inlineList
495-- inline parser for mixedlists
494-- inline parser for mixedlists
496inlineML :: PandocMonad m => VwParser m Inlines
495inlineML :: PandocMonad m => VwParser m Inlines
497−inlineML = choice $ (whitespace endlineML):inlineList
496+inlineML = choice $ whitespace endlineML:inlineList
499str :: PandocMonad m => VwParser m Inlines
498str :: PandocMonad m => VwParser m Inlines
500−str = B.str <$> (many1 $ noneOf $ spaceChars ++ specialChars)
499+str = B.str <$>many1 (noneOf $ spaceChars ++ specialChars)
502whitespace :: PandocMonad m => VwParser m () -> VwParser m Inlines
501whitespace :: PandocMonad m => VwParser m () -> VwParser m Inlines
503whitespace endline = B.space <$ (skipMany1 spaceChar <|>
502whitespace endline = B.space <$ (skipMany1 spaceChar <|>
504− (try (newline >> (comment <|> placeholder))))
503+ try (newline >> (comment <|> placeholder)))
505 <|> B.softbreak <$ endline
504 <|> B.softbreak <$ endline
507whitespace' :: PandocMonad m => VwParser m Inlines
506whitespace' :: PandocMonad m => VwParser m Inlines
@@ -518,31 +517,31 @@ bareURL = try $ do
518strong :: PandocMonad m => VwParser m Inlines
517strong :: PandocMonad m => VwParser m Inlines
519strong = try $ do
518strong = try $ do
520 s <- lookAhead $ between (char '*') (char '*') (many1 $ noneOf "*")
519 s <- lookAhead $ between (char '*') (char '*') (many1 $ noneOf "*")
521− guard $ (not $ (head s) `elem` spaceChars)
520+ guard $ not ((head s) `elem` spaceChars)
522− && (not $ (last s) `elem` spaceChars)
521+ &¬ ((last s) `elem` spaceChars)
524− contents <- mconcat <$> (manyTill inline' $ char '*'
523+ contents <- mconcat <$>manyTill inline' (char '*'
525 >> notFollowedBy alphaNum)
524 >> notFollowedBy alphaNum)
526− return $ (B.spanWith ((makeId contents), [], []) mempty)
525+ return $ B.spanWith ((makeId contents), [], []) mempty
527− <> (B.strong contents)
526+ <> B.strong contents
529makeId :: Inlines -> String
528makeId :: Inlines -> String
530−makeId i = concat (stringify <$> (toList i))
529+makeId i = concat (stringify <$> toList i)
532emph :: PandocMonad m => VwParser m Inlines
531emph :: PandocMonad m => VwParser m Inlines
533emph = try $ do
532emph = try $ do
534 s <- lookAhead $ between (char '_') (char '_') (many1 $ noneOf "_")
533 s <- lookAhead $ between (char '_') (char '_') (many1 $ noneOf "_")
535− guard $ (not $ (head s) `elem` spaceChars)
534+ guard $ not ((head s) `elem` spaceChars)
536− && (not $ (last s) `elem` spaceChars)
535+ &¬ ((last s) `elem` spaceChars)
538− contents <- mconcat <$> (manyTill inline' $ char '_'
537+ contents <- mconcat <$>manyTill inline' (char '_'
539 >> notFollowedBy alphaNum)
538 >> notFollowedBy alphaNum)
540 return $ B.emph contents
539 return $ B.emph contents
542strikeout :: PandocMonad m => VwParser m Inlines
541strikeout :: PandocMonad m => VwParser m Inlines
543strikeout = try $ do
542strikeout = try $ do
544 string "~~"
543 string "~~"
545− contents <- mconcat <$> (many1Till inline' $ string $ "~~")
544+ contents <- mconcat <$>many1Till inline' (string $ "~~")
546 return $ B.strikeout contents
545 return $ B.strikeout contents
548code :: PandocMonad m => VwParser m Inlines
547code :: PandocMonad m => VwParser m Inlines
@@ -553,11 +552,11 @@ code = try $ do
554superscript :: PandocMonad m => VwParser m Inlines
553superscript :: PandocMonad m => VwParser m Inlines
555superscript = try $
554superscript = try $
556− B.superscript <$> mconcat <$> (char '^' >> many1Till inline' (char '^'))
555+ B.superscript . mconcat <$> (char '^' >> many1Till inline' (char '^'))
558subscript :: PandocMonad m => VwParser m Inlines
557subscript :: PandocMonad m => VwParser m Inlines
559subscript = try $
558subscript = try $
560− B.subscript <$> mconcat <$> (string ",,"
559+ B.subscript . mconcat <$> (string ",,"
561 >> many1Till inline' (try $ string ",,"))
560 >> many1Till inline' (try $ string ",,"))
563link :: PandocMonad m => VwParser m Inlines
562link :: PandocMonad m => VwParser m Inlines
@@ -587,29 +586,29 @@ images k
587 return $ B.image (procImgurl imgurl) "" (B.str "")
586 return $ B.image (procImgurl imgurl) "" (B.str "")
588 | k == 1 = do
587 | k == 1 = do
589 imgurl <- manyTill anyChar (char '|')
588 imgurl <- manyTill anyChar (char '|')
590− alt <- mconcat <$> (manyTill inline $ (try $ string "}}"))
589+ alt <- mconcat <$> (manyTill inline (try $ string "}}"))
591 return $ B.image (procImgurl imgurl) "" alt
590 return $ B.image (procImgurl imgurl) "" alt
592 | k == 2 = do
591 | k == 2 = do
593 imgurl <- manyTill anyChar (char '|')
592 imgurl <- manyTill anyChar (char '|')
594− alt <- mconcat <$> (manyTill inline $ char '|')
593+ alt <- mconcat <$>manyTill inline (char '|')
595 attrText <- manyTill anyChar (try $ string "}}")
594 attrText <- manyTill anyChar (try $ string "}}")
596 return $ B.imageWith (makeAttr attrText) (procImgurl imgurl) "" alt
595 return $ B.imageWith (makeAttr attrText) (procImgurl imgurl) "" alt
597 | otherwise = do
596 | otherwise = do
598 imgurl <- manyTill anyChar (char '|')
597 imgurl <- manyTill anyChar (char '|')
599− alt <- mconcat <$> (manyTill inline $ char '|')
598+ alt <- mconcat <$>manyTill inline (char '|')
600 attrText <- manyTill anyChar (char '|')
599 attrText <- manyTill anyChar (char '|')
601 manyTill anyChar (try $ string "}}")
600 manyTill anyChar (try $ string "}}")
602 return $ B.imageWith (makeAttr attrText) (procImgurl imgurl) "" alt
601 return $ B.imageWith (makeAttr attrText) (procImgurl imgurl) "" alt
604procLink' :: String -> String
603procLink' :: String -> String
605procLink' s
604procLink' s
606− | ((take 6 s) == "local:") = "file" ++ (drop 5 s)
605+ | (take 6 s) == "local:" = "file" ++ drop 5 s
607− | ((take 6 s) == "diary:") = "diary/" ++ (drop 6 s) ++ ".html"
606+ | (take 6 s) == "diary:" = "diary/" ++ drop 6 s ++ ".html"
608 | or ((`isPrefixOf` s) <$> [ "http:", "https:", "ftp:", "file:", "mailto:",
607 | or ((`isPrefixOf` s) <$> [ "http:", "https:", "ftp:", "file:", "mailto:",
609 "news:", "telnet:" ])
608 "news:", "telnet:" ])
611 | s == "" = ""
610 | s == "" = ""
612− | (last s) == '/' = s
611+ | last s == '/' = s
613 | otherwise = s ++ ".html"
612 | otherwise = s ++ ".html"
615procLink :: String -> String
614procLink :: String -> String
@@ -617,7 +616,7 @@ procLink s = procLink' x ++ y
617 where (x, y) = break (=='#') s
616 where (x, y) = break (=='#') s
619procImgurl :: String -> String
618procImgurl :: String -> String
620−procImgurl s = if ((take 6 s) == "local:") then "file" ++ (drop 5 s) else s
619+procImgurl s = if (take 6 s) == "local:" then "file" ++ drop 5 s else s
622inlineMath :: PandocMonad m => VwParser m Inlines
621inlineMath :: PandocMonad m => VwParser m Inlines
623inlineMath = try $ do
622inlineMath = try $ do
@@ -628,10 +627,10 @@ inlineMath = try $ do
628tag :: PandocMonad m => VwParser m Inlines
627tag :: PandocMonad m => VwParser m Inlines
629tag = try $ do
628tag = try $ do
631− s <- manyTill (noneOf spaceChars) (try (char ':' >> (lookAhead space)))
630+ s <- manyTill (noneOf spaceChars) (try (char ':' >> lookAhead space))
632 guard $ not $ "::" `isInfixOf` (":" ++ s ++ ":")
631 guard $ not $ "::" `isInfixOf` (":" ++ s ++ ":")
633 let ss = splitBy (==':') s
632 let ss = splitBy (==':') s
634− return $ mconcat $ (makeTagSpan' $ head ss):(makeTagSpan <$> (tail ss))
633+ return $ mconcat $ makeTagSpan' (head ss):(makeTagSpan <$> tail ss)
636todoMark :: PandocMonad m => VwParser m Inlines
635todoMark :: PandocMonad m => VwParser m Inlines
637todoMark = try $ do
636todoMark = try $ do
@@ -661,18 +660,18 @@ nFBTTBSB =
661 notFollowedBy hasDefMarker
660 notFollowedBy hasDefMarker
663hasDefMarker :: PandocMonad m => VwParser m ()
662hasDefMarker :: PandocMonad m => VwParser m ()
664−hasDefMarker = () <$ (manyTill (noneOf "\n") (string "::" >> oneOf spaceChars))
663+hasDefMarker = () <$ manyTill (noneOf "\n") (string "::" >> oneOf spaceChars)
666makeTagSpan' :: String -> Inlines
665makeTagSpan' :: String -> Inlines
667makeTagSpan' s = B.spanWith ('-' : s, [], []) (B.str "") <>
666makeTagSpan' s = B.spanWith ('-' : s, [], []) (B.str "") <>
668 B.spanWith (s, ["tag"], []) (B.str s)
667 B.spanWith (s, ["tag"], []) (B.str s)
670makeTagSpan :: String -> Inlines
669makeTagSpan :: String -> Inlines
671−makeTagSpan s = (B.space) <> (makeTagSpan' s)
670+makeTagSpan s = B.space <> makeTagSpan' s
673mathTagParser :: PandocMonad m => VwParser m String
672mathTagParser :: PandocMonad m => VwParser m String
674mathTagParser = do
673mathTagParser = do
675− s <- try $ lookAhead (char '%' >> (manyTill (noneOf spaceChars)
674+ s <- try $ lookAhead (char '%' >> manyTill (noneOf spaceChars)
676− (try $ char '%' >> many (noneOf $ '%':spaceChars) >> space)))
675+ (try $ char '%' >> many (noneOf $ '%':spaceChars) >> space))
677 char '%' >> string s >> char '%'
676 char '%' >> string s >> char '%'
678 return $ mathTagLaTeX s
677 return $ mathTagLaTeX s