git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: Added parser for literate haskell code blocks.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1499 788f1e2b-df1e-0410-8736-df70ead52e1b

commitc815c2feabe76d32d10161fee69d296d6736bca9 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateTue 2 Dec 2008, 22:42 (18 years ago) parent95c16bf
1 file changed+9−3
Text/Pandoc/Readers/LaTeX.hs+9−3
Text/Pandoc/Readers/LaTeX.hs+9−3
@@ -188,9 +188,9 @@ hrule = oneOfStrings [ "\\begin{center}\\rule{3in}{0.4pt}\\end{center}\n\n",
188188-- code blocks
189189--
190190
191−codeBlock :: GenParser Char st Block
192−codeBlock = choice $ map codeBlockWith ["verbatim", "Verbatim", "code"]
193−-- Note: Verbatim is from fancyvrb. code is used by literate Haskell.
191+codeBlock :: GenParser Char ParserState Block
192+codeBlock = codeBlockWith "verbatim" <|> codeBlockWith "Verbatim" <|> lhsCodeBlock
193+-- Note: Verbatim is from fancyvrb.
194194
195195codeBlockWith :: String -> GenParser Char st Block
196196codeBlockWith env = try $ do
@@ -203,6 +203,12 @@ codeBlockWith env = try $ do
203203 let classes = if env == "code" then ["haskell"] else []
204204 return $ CodeBlock ("",classes,[]) (stripTrailingNewlines contents)
205205
206+lhsCodeBlock :: GenParser Char ParserState Block
207+lhsCodeBlock = do
208+ failUnlessLHS
209+ (CodeBlock (_,_,_) cont) <- codeBlockWith "code"
210+ return $ CodeBlock ("", ["haskell"], []) cont
211+
206212--
207213-- block quotes
208214--