LaTeX reader: Parse "code" environments as verbatim (lhs).
Refactored parsers for verbatim environments. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1414 788f1e2b-df1e-0410-8736-df70ead52e1b
This commit is contained in:
parent
a23f8ba5bd
commit
4f14802831
1 changed files with 9 additions and 15 deletions
|
@ -189,25 +189,19 @@ hrule = oneOfStrings [ "\\begin{center}\\rule{3in}{0.4pt}\\end{center}\n\n",
|
||||||
--
|
--
|
||||||
|
|
||||||
codeBlock :: GenParser Char st Block
|
codeBlock :: GenParser Char st Block
|
||||||
codeBlock = codeBlock1 <|> codeBlock2
|
codeBlock = choice $ map codeBlockWith ["verbatim", "Verbatim", "code"]
|
||||||
|
-- Note: Verbatim is from fancyvrb. code is used by literate Haskell.
|
||||||
|
|
||||||
codeBlock1 :: GenParser Char st Block
|
codeBlockWith :: String -> GenParser Char st Block
|
||||||
codeBlock1 = try $ do
|
codeBlockWith env = try $ do
|
||||||
string "\\begin{verbatim}" -- don't use begin function because it
|
string ("\\begin{" ++ env ++ "}") -- don't use begin function because it
|
||||||
-- gobbles whitespace
|
-- gobbles whitespace
|
||||||
optional blanklines -- we want to gobble blank lines, but not
|
optional blanklines -- we want to gobble blank lines, but not
|
||||||
-- leading space
|
-- leading space
|
||||||
contents <- manyTill anyChar (try (string "\\end{verbatim}"))
|
contents <- manyTill anyChar (try (string $ "\\end{" ++ env ++ "}"))
|
||||||
spaces
|
spaces
|
||||||
return $ CodeBlock ("",[],[]) (stripTrailingNewlines contents)
|
let classes = if env == "code" then ["haskell"] else []
|
||||||
|
return $ CodeBlock ("",classes,[]) (stripTrailingNewlines contents)
|
||||||
codeBlock2 :: GenParser Char st Block
|
|
||||||
codeBlock2 = try $ do
|
|
||||||
string "\\begin{Verbatim}" -- used by fancyvrb package
|
|
||||||
optional blanklines
|
|
||||||
contents <- manyTill anyChar (try (string "\\end{Verbatim}"))
|
|
||||||
spaces
|
|
||||||
return $ CodeBlock ("",[],[]) (stripTrailingNewlines contents)
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- block quotes
|
-- block quotes
|
||||||
|
|
Loading…
Add table
Reference in a new issue