aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Lua/Module
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2021-10-21 11:11:27 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2021-10-22 11:16:51 -0700
commitc07005a095960bc1a3e012fec5a23bf4c70185f5 (patch)
treef0bad8c2d8e954b0e193ddce4217c3907819b03f /src/Text/Pandoc/Lua/Module
parent6a03aca906c1e714aea7e34acdf10105e3272d6b (diff)
downloadpandoc-c07005a095960bc1a3e012fec5a23bf4c70185f5.tar.gz
Lua: marshal Version values as userdata
Diffstat (limited to 'src/Text/Pandoc/Lua/Module')
-rw-r--r--src/Text/Pandoc/Lua/Module/Types.hs6
-rw-r--r--src/Text/Pandoc/Lua/Module/Utils.hs2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Lua/Module/Types.hs b/src/Text/Pandoc/Lua/Module/Types.hs
index a9ce14ce7..7307c6e88 100644
--- a/src/Text/Pandoc/Lua/Module/Types.hs
+++ b/src/Text/Pandoc/Lua/Module/Types.hs
@@ -13,21 +13,21 @@ module Text.Pandoc.Lua.Module.Types
( pushModule
) where
-import Data.Version (Version)
import HsLua (LuaE, NumResults, Peeker, Pusher)
import Text.Pandoc.Error (PandocError)
import Text.Pandoc.Lua.ErrorConversion ()
import Text.Pandoc.Lua.Marshaling.AST
-import Text.Pandoc.Lua.Marshaling.Version ()
import Text.Pandoc.Lua.Util (addFunction)
import qualified HsLua as Lua
+import qualified HsLua.Module.Version as Version
-- | Push the pandoc.types module on the Lua stack.
pushModule :: LuaE PandocError NumResults
pushModule = do
Lua.newtable
- addFunction "Version" (return :: Version -> LuaE PandocError Version)
+ Lua.pushName "Version" *> Lua.pushModule Version.documentedModule
+ *> Lua.rawset (Lua.nth 3)
pushCloneTable
Lua.setfield (Lua.nth 2) "clone"
return 1
diff --git a/src/Text/Pandoc/Lua/Module/Utils.hs b/src/Text/Pandoc/Lua/Module/Utils.hs
index 8b6e31b43..7ce1cd18d 100644
--- a/src/Text/Pandoc/Lua/Module/Utils.hs
+++ b/src/Text/Pandoc/Lua/Module/Utils.hs
@@ -23,6 +23,7 @@ import Data.Default (def)
import Data.Version (Version)
import HsLua as Lua hiding (pushModule)
import HsLua.Class.Peekable (PeekError)
+import HsLua.Module.Version (peekVersionFuzzy, pushVersion)
import Text.Pandoc.Definition
import Text.Pandoc.Error (PandocError)
import Text.Pandoc.Lua.Marshaling ()
@@ -32,7 +33,6 @@ import Text.Pandoc.Lua.Marshaling.AST
import Text.Pandoc.Lua.Marshaling.List (pushPandocList)
import Text.Pandoc.Lua.Marshaling.SimpleTable
( SimpleTable (..), peekSimpleTable, pushSimpleTable )
-import Text.Pandoc.Lua.Marshaling.Version (peekVersionFuzzy, pushVersion)
import Text.Pandoc.Lua.PandocLua (PandocLua (unPandocLua))
import qualified Data.Digest.Pure.SHA as SHA