summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Readers/RST.hs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs
index 000a8b97a..83c5383bd 100644
--- a/src/Text/Pandoc/Readers/RST.hs
+++ b/src/Text/Pandoc/Readers/RST.hs
@@ -355,7 +355,21 @@ blockQuote = try (do
-- list blocks
--
-list = choice [ bulletList, orderedList ] <?> "list"
+list = choice [ bulletList, orderedList, definitionList ] <?> "list"
+
+definitionListItem = try $ do
+ term <- many1Till inline endline
+ raw <- indentedBlock True
+ -- parse the extracted block, which may contain various block elements:
+ rest <- getInput
+ setInput $ raw ++ "\n\n"
+ contents <- parseBlocks
+ setInput rest
+ return (normalizeSpaces term, contents)
+
+definitionList = try $ do
+ items <- many1 definitionListItem
+ return (DefinitionList items)
-- parses bullet list start and returns its length (inc. following whitespace)
bulletListStart = try (do