@@ -228,15 +228,16 @@ lineBlock = try $ do
228228-- note: paragraph can end in a :: starting a code block
229229para :: Parser [Char] ParserState Blocks
230230para = try $ do
231− result <- trimInlines . mconcat <$> many inline
232− newline
233− blanklines
234− case viewr (B.unMany result) of
235− ys :> (Str xs) | "::" `isSuffixOf` xs -> do
236− codeblock <- option mempty codeBlockBody
237− return $ B.para (B.Many ys <> B.str (take (length xs - 1) xs))
238− <> codeblock
239− _ -> return (B.para result)
231+ result <- trimInlines . mconcat <$> many1 inline
232+ option (B.plain result) $ try $ do
233+ newline
234+ blanklines
235+ case viewr (B.unMany result) of
236+ ys :> (Str xs) | "::" `isSuffixOf` xs -> do
237+ codeblock <- option mempty codeBlockBody
238+ return $ B.para (B.Many ys <> B.str (take (length xs - 1) xs))
239+ <> codeblock
240+ _ -> return (B.para result)
240241
241242plain :: Parser [Char] ParserState Blocks
242243plain = B.plain . trimInlines . mconcat <$> many1 inline