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.
This commit is contained in:
John MacFarlane 2016-03-09 08:44:31 -08:00
parent 4ed64835cb
commit 6e950a8eb5

View file

@ -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