diff options
-rw-r--r-- | Text/Pandoc/Readers/RST.hs | 9 | ||||
-rw-r--r-- | tests/rst-reader.native | 6 | ||||
-rw-r--r-- | tests/rst-reader.rst | 26 |
3 files changed, 36 insertions, 5 deletions
diff --git a/Text/Pandoc/Readers/RST.hs b/Text/Pandoc/Readers/RST.hs index 5533d309f..50075ae65 100644 --- a/Text/Pandoc/Readers/RST.hs +++ b/Text/Pandoc/Readers/RST.hs @@ -367,6 +367,8 @@ list = choice [ bulletList, orderedList, definitionList ] <?> "list" definitionListItem :: GenParser Char ParserState ([Inline], [Block]) definitionListItem = try $ do + -- avoid capturing a directive or comment + notFollowedBy (try $ char '.' >> char '.') term <- many1Till inline endline raw <- indentedBlock -- parse the extracted block, which may contain various block elements: @@ -464,11 +466,10 @@ bulletList = many1 (listItem bulletListStart) >>= unknownDirective :: GenParser Char st Block unknownDirective = try $ do - string ".. " + string ".." + notFollowedBy (noneOf " \t\n") manyTill anyChar newline - many (string " :" >> many1 (noneOf "\n:") >> char ':' >> - many1 (noneOf "\n") >> newline) - optional blanklines + many $ blanklines <|> (oneOf " \t" >> manyTill anyChar newline) return Null -- diff --git a/tests/rst-reader.native b/tests/rst-reader.native index 453581167..e0cedd59c 100644 --- a/tests/rst-reader.native +++ b/tests/rst-reader.native @@ -230,5 +230,9 @@ Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":",Space,Str , Para [Str "From",Space,Str "\"Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902)",Str ":"] , Plain [Image [Str "image"] ("lalune.jpg","")] , Plain [Image [Str "Voyage dans la Lune"] ("lalune.jpg","Voyage dans la Lune")] -, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."] ] +, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."] +, Header 1 [Str "Comments"] +, Para [Str "First",Space,Str "paragraph"] +, Para [Str "Another",Space,Str "paragraph"] +, Para [Str "A",Space,Str "third",Space,Str "paragraph"] ] diff --git a/tests/rst-reader.rst b/tests/rst-reader.rst index f3d07b49d..09ff2b75c 100644 --- a/tests/rst-reader.rst +++ b/tests/rst-reader.rst @@ -402,3 +402,29 @@ From "Voyage dans la Lune" by Georges Melies (1902): Here is a movie |movie| icon. .. |movie| image:: movie.jpg + +Comments +======== + +First paragraph + +.. comment + +.. + Comment block, should not appear in output + as defined by reStructuredText + +Another paragraph + +.. + Another comment block. + + This one spans several + text elements. + + It doesn't end until + indentation is restored to the + preceding level. + +A third paragraph + |