@@ -211,7 +211,7 @@ hrule = oneOfStrings [ "\\begin{center}\\rule{3in}{0.4pt}\\end{center}\n\n",
211211--
212212
213213codeBlock :: GenParser Char ParserState Block
214−codeBlock = codeBlockWith "verbatim" <|> codeBlockWith "Verbatim" <|> lhsCodeBlock
214+codeBlock = codeBlockWith "verbatim" <|> codeBlockWith "Verbatim" <|> codeBlockWith "lstlisting" <|> lhsCodeBlock
215215-- Note: Verbatim is from fancyvrb.
216216
217217codeBlockWith :: String -> GenParser Char st Block
@@ -611,7 +611,7 @@ doubleQuote :: GenParser Char st Inline
611611doubleQuote = char '"' >> return (Str "\"")
612612
613613code :: GenParser Char ParserState Inline
614−code = code1 <|> code2 <|> lhsInlineCode
614+code = code1 <|> code2 <|> code3 <|> lhsInlineCode
615615
616616code1 :: GenParser Char st Inline
617617code1 = try $ do
@@ -626,6 +626,13 @@ code2 = try $ do
626626 result <- manyTill (noneOf "\\\n~$%^&{}") (char '}')
627627 return $ Code result
628628
629+code3 :: GenParser Char st Inline
630+code3 = try $ do
631+ string "\\lstinline"
632+ marker <- anyChar
633+ result <- manyTill anyChar (char marker)
634+ return $ Code $ removeLeadingTrailingSpace result
635+
629636lhsInlineCode :: GenParser Char ParserState Inline
630637lhsInlineCode = try $ do
631638 failUnlessLHS