@@ -31,12 +31,16 @@ Exports functions for syntax highlighting.
3131module Text.Pandoc.Highlighting ( languages, highlightHtml ) where
3232import Text.Highlighting.Kate
3333import Text.XHtml
34−import Data.List (find)
34+import Data.List (find, lookup)
35+import Data.Maybe (fromMaybe)
3536import Data.Char (toLower)
37+import Text.Pandoc.Definition
3638
37−highlightHtml :: [String] -> String -> Either String Html
38−highlightHtml classes rawCode =
39− let fmtOpts = case find (`elem` ["number","numberLines","number-lines"]) classes of
39+highlightHtml :: Attr -> String -> Either String Html
40+highlightHtml (_, classes, keyvals) rawCode =
41+ let firstNum = read $ fromMaybe "1" $ lookup "startFrom" keyvals
42+ fmtOpts = [OptNumberFrom firstNum] ++
43+ case find (`elem` ["number","numberLines","number-lines"]) classes of
4044 Nothing -> []
4145 Just _ -> [OptNumberLines]
4246 lcLanguages = map (map toLower) languages