@@ -52,6 +52,7 @@ import Data.List (intercalate)
5252import qualified Data.Map as M
5353import qualified Control.Exception as E
5454import System.FilePath (takeExtension, addExtension)
55+import Text.Pandoc.Highlighting (fromListingsLanguage)
5556
5657-- | Parse LaTeX from string and return 'Pandoc' document.
5758readLaTeX :: ReaderOptions -- ^ Reader options
@@ -819,11 +820,13 @@ environments = M.fromList
819820 , ("verbatim", codeBlock <$> (verbEnv "verbatim"))
820821 , ("Verbatim", codeBlock <$> (verbEnv "Verbatim"))
821822 , ("lstlisting", do options <- option [] keyvals
822− let classes = [ "numberLines" |
823− lookup "numbers" options == Just "left" ]
824823 let kvs = [ (if k == "firstnumber"
825824 then "startFrom"
826825 else k, v) | (k,v) <- options ]
826+ let classes = [ "numberLines" |
827+ lookup "numbers" options == Just "left" ]
828+ ++ maybe [] (:[]) (lookup "language" options
829+ >>= fromListingsLanguage)
827830 let attr = ("",classes,kvs)
828831 codeBlockWith attr <$> (verbEnv "lstlisting"))
829832 , ("minted", liftA2 (\l c -> codeBlockWith ("",[l],[]) c)