@@ -383,7 +383,10 @@ restOfLine = mconcat <$> manyTill inline newline
383383--
384384
385385list :: OrgParser Blocks
386−list = choice [ bulletList, orderedList ] <?> "list"
386+list = choice [ definitionList, bulletList, orderedList ] <?> "list"
387+
388+definitionList :: OrgParser Blocks
389+definitionList = B.definitionList <$> many1 (definitionListItem bulletListStart)
387390
388391bulletList :: OrgParser Blocks
389392bulletList = B.bulletList . compactify' <$> many1 (listItem bulletListStart)
@@ -407,6 +410,18 @@ orderedListStart = genericListStart orderedListMarker
407410 -- Ordered list markers allowed in org-mode
408411 where orderedListMarker = mappend <$> many1 digit <*> (pure <$> oneOf ".)")
409412
413+definitionListItem :: OrgParser Int
414+ -> OrgParser (Inlines, [Blocks])
415+definitionListItem parseMarkerGetLength = try $ do
416+ markerLength <- parseMarkerGetLength
417+ term <- manyTill (noneOf "\n\r") (try $ string "::")
418+ first <- anyLineNewline
419+ cont <- concat <$> many (listContinuation markerLength)
420+ term' <- parseFromString inline term
421+ contents' <- parseFromString parseBlocks $ first ++ cont
422+ return (term', [contents'])
423+
424+
410425-- parse raw text for one list item, excluding start marker and continuations
411426listItem :: OrgParser Int
412427 -> OrgParser Blocks