diff options
author | John MacFarlane <jgm@berkeley.edu> | 2011-01-23 00:05:35 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2011-01-23 00:05:35 -0800 |
commit | 50d08ec2c3892076bde53b66f1b728e4bf23ab97 (patch) | |
tree | 2f8b8632ea64909e3092e1f8a8f7fb3a155fa4d9 | |
parent | 9f99c39cafabf1438c195c61e2bea785b529f0c0 (diff) | |
download | pandoc-50d08ec2c3892076bde53b66f1b728e4bf23ab97.tar.gz |
Textile reader: Added code blocks with bc.
-rw-r--r-- | src/Text/Pandoc/Readers/Textile.hs | 13 | ||||
-rw-r--r-- | tests/textile-reader.native | 1 | ||||
-rw-r--r-- | tests/textile-reader.textile | 3 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs index c3b2e69a2..05bcd6108 100644 --- a/src/Text/Pandoc/Readers/Textile.hs +++ b/src/Text/Pandoc/Readers/Textile.hs @@ -135,9 +135,18 @@ blockParsers = [ codeBlock block :: GenParser Char ParserState Block block = choice blockParsers <?> "block" --- | Code Blocks in Textile are between <pre> and </pre> codeBlock :: GenParser Char ParserState Block -codeBlock = try $ do +codeBlock = codeBlockBc <|> codeBlockPre + +codeBlockBc :: GenParser Char ParserState Block +codeBlockBc = try $ do + string "bc. " + contents <- manyTill anyLine blanklines + return $ CodeBlock ("",[],[]) $ unlines contents + +-- | Code Blocks in Textile are between <pre> and </pre> +codeBlockPre :: GenParser Char ParserState Block +codeBlockPre = try $ do htmlTag (tagOpen (=="pre") null) result' <- manyTill anyChar (try $ htmlTag (tagClose (=="pre")) >> blockBreak) -- drop leading newline if any diff --git a/tests/textile-reader.native b/tests/textile-reader.native index f571c149a..a00507282 100644 --- a/tests/textile-reader.native +++ b/tests/textile-reader.native @@ -24,6 +24,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []}) ,CodeBlock ("",[],[]) " ---- (should be four hyphens)\n\n sub status {\n print \"working\";\n }\n\n this code block is indented by one tab" ,Para [Str "And",Str ":"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\n These should not be escaped: \\$ \\\\ \\> \\[ \\{" +,CodeBlock ("",[],[]) "Code block with .bc\n continued\n @</\\\n" ,Header 1 [Str "Lists"] ,Header 2 [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight",Str ":"] diff --git a/tests/textile-reader.textile b/tests/textile-reader.textile index 64545c2c0..9fa90bb32 100644 --- a/tests/textile-reader.textile +++ b/tests/textile-reader.textile @@ -62,6 +62,9 @@ And: These should not be escaped: \$ \\ \> \[ \{ </pre> +bc. Code block with .bc + continued + @</\ h1. Lists |