git.iko.soy/typeable/pandoc
on master help sign in
Lua: make pandoc-types version available as PANDOC_API_VERSION

The current pandoc-types version is made available to Lua programs in the global PANDOC_API_VERSION. It contains the version as a list of numbers.

commitf5dec4bdc12e5ba895458ba117e0966a78b3c790 authorAlbert Krewinkel <albert@zeitkraut.de> dateSun 7 Jan 2018, 14:06 (9 years ago) parent043740d
2 files changed+11−1
src/Text/Pandoc/Lua/Init.hs+3 test/Tests/Lua.hs+8−1
src/Text/Pandoc/Lua/Init.hs+3
@@ -41,6 +41,7 @@ import GHC.IO.Encoding (getForeignEncoding, setForeignEncoding, utf8)
4141import Paths_pandoc (version)
4242import Text.Pandoc.Class (PandocIO, getCommonState, getUserDataDir, getMediaBag,
4343 setMediaBag)
44+import Text.Pandoc.Definition (pandocTypesVersion)
4445import Text.Pandoc.Lua.Packages (LuaPackageParams (..),
4546 installPandocPackageSearcher)
4647import Text.Pandoc.Lua.Util (loadScriptFromDataDir)
@@ -79,5 +80,7 @@ initLuaState luaPkgParams = do
7980 Lua.preloadTextModule "text"
8081 Lua.push (versionBranch version)
8182 Lua.setglobal "PANDOC_VERSION"
83+ Lua.push (versionBranch pandocTypesVersion)
84+ Lua.setglobal "PANDOC_API_VERSION"
8285 installPandocPackageSearcher luaPkgParams
8386 loadScriptFromDataDir (luaPkgDataDir luaPkgParams) "init.lua"
test/Tests/Lua.hs+8−1
@@ -2,6 +2,7 @@
22module Tests.Lua ( tests ) where
33
44import Control.Monad (when)
5+import Data.Version (Version (versionBranch))
56import System.FilePath ((</>))
67import Test.Tasty (TestTree, localOption)
78import Test.Tasty.HUnit (Assertion, assertEqual, testCase)
@@ -11,7 +12,7 @@ import Text.Pandoc.Builder (bulletList, divWith, doc, doubleQuoted, emph,
1112 header, linebreak, para, plain, rawBlock,
1213 singleQuoted, space, str, strong, (<>))
1314import Text.Pandoc.Class (runIOorExplode, setUserDataDir)
14−import Text.Pandoc.Definition (Block, Inline, Meta, Pandoc)
15+import Text.Pandoc.Definition (Block, Inline, Meta, Pandoc, pandocTypesVersion)
1516import Text.Pandoc.Lua (runLuaFilter, runPandocLua)
1617import Text.Pandoc.Shared (pandocVersion)
1718
@@ -115,6 +116,12 @@ tests = map (localOption (QuickCheckTests 20))
115116 Lua.call 2 1
116117 Lua.liftIO . assertEqual "pandoc version is wrong" pandocVersion
117118 =<< Lua.peek Lua.stackTop
119+
120+ , testCase "Pandoc types version is set" . runPandocLua' $ do
121+ let versionNums = versionBranch pandocTypesVersion
122+ Lua.getglobal "PANDOC_API_VERSION"
123+ Lua.liftIO . assertEqual "pandoc version is wrong" versionNums
124+ =<< Lua.peek Lua.stackTop
118125 ]
119126
120127assertFilterConversion :: String -> FilePath -> Pandoc -> Pandoc -> Assertion