aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2013-01-26 16:09:41 -0800
committerJohn MacFarlane <fiddlosopher@gmail.com>2013-01-26 16:12:11 -0800
commit9d549ab683ba4d98a295dc156ea4b81f57f383a7 (patch)
tree2a234c086010fe2beb6594b303b9c905e55feb72 /src
parent2f50406c7f5cd34a7165f238cdeaceb53d32ed48 (diff)
downloadpandoc-9d549ab683ba4d98a295dc156ea4b81f57f383a7.tar.gz
RST writer: Use `.. code:: language` for code blocks with language.
Closes #721. Also fixed whitespace in lhs tests.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/RST.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs
index 89acd2ef5..78b8fcd73 100644
--- a/src/Text/Pandoc/Writers/RST.hs
+++ b/src/Text/Pandoc/Writers/RST.hs
@@ -177,7 +177,12 @@ blockToRST (CodeBlock (_,classes,_) str) = do
if "haskell" `elem` classes && "literate" `elem` classes &&
isEnabled Ext_literate_haskell opts
then return $ prefixed "> " (text str) $$ blankline
- else return $ "::" $+$ nest tabstop (text str) $$ blankline
+ else return $
+ (case [c | c <- classes,
+ c `notElem` ["sourceCode","literate","numberLines"]] of
+ [] -> "::"
+ (lang:_) -> ".. code:: " <> text lang)
+ $+$ nest tabstop (text str) $$ blankline
blockToRST (BlockQuote blocks) = do
tabstop <- get >>= (return . writerTabStop . stOptions)
contents <- blockListToRST blocks