From c07005a095960bc1a3e012fec5a23bf4c70185f5 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel <albert@zeitkraut.de> Date: Thu, 21 Oct 2021 11:11:27 +0200 Subject: Lua: marshal Version values as userdata --- src/Text/Pandoc/Lua/Module/Types.hs | 6 +++--- src/Text/Pandoc/Lua/Module/Utils.hs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/Text/Pandoc/Lua/Module') 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 -- cgit v1.2.3