@@ -335,6 +335,13 @@ indentedBlock = try $ do
335 optional blanklines
335 optional blanklines
336 return $ unlines lns
336 return $ unlines lns
338+quotedBlock :: Parser [Char] st [Char]
339+quotedBlock = try $ do
340+ quote <- lookAhead $ oneOf "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
341+ lns <- many1 $ lookAhead (char quote) >> anyLine
343+ return $ unlines lns
338codeBlockStart :: Parser [Char] st Char
345codeBlockStart :: Parser [Char] st Char
339codeBlockStart = string "::" >> blankline >> blankline
346codeBlockStart = string "::" >> blankline >> blankline
@@ -342,7 +349,8 @@ codeBlock :: Parser [Char] st Blocks
342codeBlock = try $ codeBlockStart >> codeBlockBody
349codeBlock = try $ codeBlockStart >> codeBlockBody
344codeBlockBody :: Parser [Char] st Blocks
351codeBlockBody :: Parser [Char] st Blocks
345−codeBlockBody = try $ B.codeBlock . stripTrailingNewlines <$> indentedBlock
352+codeBlockBody = try $ B.codeBlock . stripTrailingNewlines <$>
353+ (indentedBlock <|> quotedBlock)
347lhsCodeBlock :: RSTParser Blocks
355lhsCodeBlock :: RSTParser Blocks
348lhsCodeBlock = try $ do
356lhsCodeBlock = try $ do