From 6e950a8eb5001314869013395c9c72ee05079110 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Wed, 9 Mar 2016 08:44:31 -0800 Subject: Markdown reader: allow `+` separators in pipe table cells. We already allowed them in the header, but not in the body rows, for some reason. This gives compatibility with org-mode tables. --- src/Text/Pandoc/Readers/Markdown.hs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 0eeda0fee..6caf1728c 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1382,16 +1382,14 @@ pipeTableRow' = do skipMany spaceChar openPipe <- (True <$ char '|') <|> return False let cell = mconcat <$> - many (notFollowedBy (blankline <|> char '|') >> inline) - first <- cell - rest <- many $ sepPipe *> cell + many (notFollowedBy (blankline <|> oneOf "+|") >> inline) + cells <- cell `sepBy1` sepPipe -- surrounding pipes needed for a one-column table: - guard $ not (null rest && not openPipe) + guard $ not (length cells == 1 && not openPipe) optional (char '|') blankline - let cells = sequence (first:rest) return $ do - cells' <- cells + cells' <- sequence cells return $ map (\ils -> case trimInlines ils of -- cgit v1.2.3