summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2013-03-05 22:09:42 -0800
committerJohn MacFarlane <fiddlosopher@gmail.com>2013-03-05 22:09:42 -0800
commit3b63cb0903baf4bc551d2b63d884c0fa556f11a0 (patch)
tree164d82179d62ffd891f1c4d6badb4345b9473be1 /src/Text/Pandoc/Writers
parentfd657986cc130053da93caf3f61c2f234706c549 (diff)
Hide Text.Pandoc.Highlighting.
* Moved code for translating listings language names to highlighting-kate names and back from LaTeX reader to Highlighting. * Text.Pandoc.Highlighting no longer exposed (API change) * Text.Pandoc.Highlighting exports toListingsLang, fromListingsLang
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs61
1 files changed, 4 insertions, 57 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 2e9f2f028..3ab107d68 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -35,18 +35,18 @@ import Text.Pandoc.Shared
import Text.Pandoc.Options
import Text.Pandoc.Templates
import Text.Printf ( printf )
-import qualified Data.Map as M
import Network.URI ( isAbsoluteURI, unEscapeString )
import Data.List ( (\\), isSuffixOf, isInfixOf,
isPrefixOf, intercalate, intersperse )
import Data.Char ( toLower, isPunctuation )
-import Control.Monad.State
import Control.Applicative ((<|>))
+import Control.Monad.State
import Text.Pandoc.Pretty
import System.FilePath (dropExtension)
import Text.Pandoc.Slides
import Text.Pandoc.Highlighting (highlight, styleToLaTeX,
- formatLaTeXInline, formatLaTeXBlock)
+ formatLaTeXInline, formatLaTeXBlock,
+ toListingsLanguage)
data WriterState =
WriterState { stInNote :: Bool -- true if we're in a note
@@ -762,60 +762,7 @@ citationsToBiblatex (c:cs) = do
citationsToBiblatex _ = return empty
--- correlate pandoc language names with listings names
-langsMap :: M.Map String String
-langsMap = M.fromList
- [("ada","Ada")
- ,("java","Java")
- ,("prolog","Prolog")
- ,("python","Python")
- ,("gnuassembler","Assembler")
- ,("commonlisp","Lisp")
- ,("r","R")
- ,("awk","Awk")
- ,("bash","bash")
- ,("makefile","make")
- ,("c","C")
- ,("matlab","Matlab")
- ,("ruby","Ruby")
- ,("cpp","C++")
- ,("ocaml","Caml")
- ,("modula2","Modula-2")
- ,("sql","SQL")
- ,("eiffel","Eiffel")
- ,("tcl","tcl")
- ,("erlang","erlang")
- ,("verilog","Verilog")
- ,("fortran","Fortran")
- ,("vhdl","VHDL")
- ,("pascal","Pascal")
- ,("perl","Perl")
- ,("xml","XML")
- ,("haskell","Haskell")
- ,("php","PHP")
- ,("xslt","XSLT")
- ,("html","HTML")
- ]
-
-listingsLangs :: [String]
-listingsLangs = ["Ada","Java","Prolog","Algol","JVMIS","Promela",
- "Ant","ksh","Python","Assembler","Lisp","R","Awk",
- "Logo","Reduce","bash","make","Rexx","Basic",
- "Mathematica","RSL","C","Matlab","Ruby","C++",
- "Mercury","S","Caml","MetaPost","SAS","Clean",
- "Miranda","Scilab","Cobol","Mizar","sh","Comal",
- "ML","SHELXL","csh","Modula-2","Simula","Delphi",
- "MuPAD","SQL","Eiffel","NASTRAN","tcl","Elan",
- "Oberon-2","TeX","erlang","OCL","VBScript","Euphoria",
- "Octave","Verilog","Fortran","Oz","VHDL","GCL",
- "Pascal","VRML","Gnuplot","Perl","XML","Haskell",
- "PHP","XSLT","HTML","PL/I"]
-
-- Determine listings language from list of class attributes.
getListingsLanguage :: [String] -> Maybe String
getListingsLanguage [] = Nothing
-getListingsLanguage (x:xs) = (if x `elem` listingsLangs
- then Just x
- else Nothing) <|>
- M.lookup (map toLower x) langsMap <|>
- getListingsLanguage xs
+getListingsLanguage (x:xs) = toListingsLanguage x <|> getListingsLanguage xs