git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: Handle language attribute for lstlistings.

Convert it to a highlighting-kate language name.

commit8b3a81e4dd8bf46a822980781e28d9777a076c6a authorJohn MacFarlane <fiddlosopher@gmail.com> dateTue 5 Mar 2013, 22:43 (14 years ago) parent3b63cb0
2 files changed+7−3
src/Text/Pandoc/Highlighting.hs+2−1 src/Text/Pandoc/Readers/LaTeX.hs+5−2
src/Text/Pandoc/Highlighting.hs+2−1
@@ -87,7 +87,8 @@ langToListingsMap :: M.Map String String
8787langToListingsMap = M.fromList langsList
8888
8989listingsToLangMap :: M.Map String String
90−listingsToLangMap = M.fromList $ reverse langsList
90+listingsToLangMap = M.fromList $ map switch langsList
91+ where switch (a,b) = (b,a)
9192
9293langsList :: [(String, String)]
9394langsList = [("ada","Ada")
src/Text/Pandoc/Readers/LaTeX.hs+5−2
@@ -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)