git.iko.soy/typeable/pandoc
on master help sign in
Support :number-lines: in RST code output.
commit48be39ae2a023b566ee26ebde5eb1ab743d1269e authorJohn MacFarlane <fiddlosopher@gmail.com> dateWed 6 Mar 2013, 10:13 (14 years ago) parentf7d37c9
2 files changed+7−4
src/Text/Pandoc/Readers/LaTeX.hs+1−2 src/Text/Pandoc/Writers/RST.hs+6−2
src/Text/Pandoc/Readers/LaTeX.hs+1−2
@@ -772,8 +772,7 @@ verbCmd = do
772772keyval :: LP (String, String)
773773keyval = try $ do
774774 key <- many1 alphaNum
775− char '='
776− val <- many1 alphaNum
775+ val <- option "" $ char '=' >> many1 alphaNum
777776 skipMany spaceChar
778777 optional (char ',')
779778 skipMany spaceChar
src/Text/Pandoc/Writers/RST.hs+6−2
@@ -171,9 +171,13 @@ blockToRST (Header level _ inlines) = do
171171 let headerChar = if level > 5 then ' ' else "=-~^'" !! (level - 1)
172172 let border = text $ replicate (offset contents) headerChar
173173 return $ nowrap $ contents $$ border $$ blankline
174−blockToRST (CodeBlock (_,classes,_) str) = do
174+blockToRST (CodeBlock (_,classes,kvs) str) = do
175175 opts <- stOptions <$> get
176176 let tabstop = writerTabStop opts
177+ let startnum = maybe "" (\x -> " " <> text x) $ lookup "startFrom" kvs
178+ let numberlines = if "numberLines" `elem` classes
179+ then " :number-lines:" <> startnum
180+ else empty
177181 if "haskell" `elem` classes && "literate" `elem` classes &&
178182 isEnabled Ext_literate_haskell opts
179183 then return $ prefixed "> " (text str) $$ blankline
@@ -181,7 +185,7 @@ blockToRST (CodeBlock (_,classes,_) str) = do
181185 (case [c | c <- classes,
182186 c `notElem` ["sourceCode","literate","numberLines"]] of
183187 [] -> "::"
184− (lang:_) -> ".. code:: " <> text lang)
188+ (lang:_) -> (".. code:: " <> text lang) $$ numberlines)
185189 $+$ nest tabstop (text str) $$ blankline
186190blockToRST (BlockQuote blocks) = do
187191 tabstop <- get >>= (return . writerTabStop . stOptions)