summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Lua/Module/System.hs
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2021-10-29 17:08:03 +0200
committerAlbert Krewinkel <albert@zeitkraut.de>2021-10-29 17:08:30 +0200
commitf4d9b443d8b44b802d564a64280cbe9ea89dacc8 (patch)
tree10fe1c4e9986e045c0537eb30901b499b210be91 /src/Text/Pandoc/Lua/Module/System.hs
parente1cf0ad1bef439da829068b4c5104d81692e860d (diff)
Lua: use hslua module abstraction where possible
This will make it easier to generate module documentation in the future.
Diffstat (limited to 'src/Text/Pandoc/Lua/Module/System.hs')
-rw-r--r--src/Text/Pandoc/Lua/Module/System.hs44
1 files changed, 19 insertions, 25 deletions
diff --git a/src/Text/Pandoc/Lua/Module/System.hs b/src/Text/Pandoc/Lua/Module/System.hs
index 8589f672c..e329a0125 100644
--- a/src/Text/Pandoc/Lua/Module/System.hs
+++ b/src/Text/Pandoc/Lua/Module/System.hs
@@ -11,34 +11,28 @@
Pandoc's system Lua module.
-}
module Text.Pandoc.Lua.Module.System
- ( pushModule
+ ( documentedModule
) where
-import HsLua hiding (pushModule)
+import HsLua
import HsLua.Module.System
(arch, env, getwd, os, with_env, with_tmpdir, with_wd)
-import Text.Pandoc.Error (PandocError)
-import Text.Pandoc.Lua.ErrorConversion ()
-
-import qualified HsLua as Lua
-- | Push the pandoc.system module on the Lua stack.
-pushModule :: LuaE PandocError NumResults
-pushModule = do
- Lua.pushModule $ Module
- { moduleName = "system"
- , moduleDescription = "system functions"
- , moduleFields =
- [ arch
- , os
- ]
- , moduleFunctions =
- [ setName "environment" env
- , setName "get_working_directory" getwd
- , setName "with_environment" with_env
- , setName "with_temporary_directory" with_tmpdir
- , setName "with_working_directory" with_wd
- ]
- , moduleOperations = []
- }
- return 1
+documentedModule :: LuaError e => Module e
+documentedModule = Module
+ { moduleName = "pandoc.system"
+ , moduleDescription = "system functions"
+ , moduleFields =
+ [ arch
+ , os
+ ]
+ , moduleFunctions =
+ [ setName "environment" env
+ , setName "get_working_directory" getwd
+ , setName "with_environment" with_env
+ , setName "with_temporary_directory" with_tmpdir
+ , setName "with_working_directory" with_wd
+ ]
+ , moduleOperations = []
+ }