diff options
author | Albert Krewinkel <albert@zeitkraut.de> | 2017-12-06 20:45:38 +0100 |
---|---|---|
committer | Albert Krewinkel <albert@zeitkraut.de> | 2017-12-06 22:50:56 +0100 |
commit | 4066a385ace1cee53336bf4c10734239044a92ae (patch) | |
tree | 1ed8d3bb1201f298840c53ae8e72bf4afa8f8ad9 /src/Text/Pandoc/Lua/PandocModule.hs | |
parent | d5b1c7b767a24bda592ea35902b8e1dc971d6d80 (diff) | |
download | pandoc-4066a385ace1cee53336bf4c10734239044a92ae.tar.gz |
Lua filters: use script to initialize the interpreter
The file `init.lua` is used to initialize the Lua interpreter which is
used in Lua filters. This gives users the option to require libraries
which they want to use in all of their filters, and to extend default
modules.
Diffstat (limited to 'src/Text/Pandoc/Lua/PandocModule.hs')
-rw-r--r-- | src/Text/Pandoc/Lua/PandocModule.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Lua/PandocModule.hs b/src/Text/Pandoc/Lua/PandocModule.hs index 744edfe82..75f884c46 100644 --- a/src/Text/Pandoc/Lua/PandocModule.hs +++ b/src/Text/Pandoc/Lua/PandocModule.hs @@ -60,7 +60,7 @@ import qualified Text.Pandoc.MediaBag as MB -- | Push the "pandoc" on the lua stack. Requires the `list` module to be -- loaded. -pushPandocModule :: Maybe FilePath -> Lua () +pushPandocModule :: Maybe FilePath -> Lua NumResults pushPandocModule datadir = do loadScriptFromDataDir datadir "pandoc.lua" addFunction "_pipe" pipeFn @@ -68,6 +68,7 @@ pushPandocModule datadir = do addFunction "sha1" sha1HashFn addFunction "walk_block" walkBlock addFunction "walk_inline" walkInline + return 1 walkElement :: (ToLuaStack a, Walkable [Inline] a, Walkable [Block] a) => a -> LuaFilter -> Lua NumResults @@ -99,14 +100,14 @@ readDoc formatSpec content = do -- -- MediaBag submodule -- -pushMediaBagModule :: CommonState -> IORef MB.MediaBag -> Lua () +pushMediaBagModule :: CommonState -> IORef MB.MediaBag -> Lua NumResults pushMediaBagModule commonState mediaBagRef = do Lua.newtable addFunction "insert" (insertMediaFn mediaBagRef) addFunction "lookup" (lookupMediaFn mediaBagRef) addFunction "list" (mediaDirectoryFn mediaBagRef) addFunction "fetch" (fetch commonState mediaBagRef) - return () + return 1 addFunction :: ToHaskellFunction a => String -> a -> Lua () addFunction name fn = do |