From 53aafd66434d97f5e0e9209650581177e2c79a91 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Sat, 18 Nov 2017 22:24:06 +0100 Subject: Lua filters: preload text module (#4077) The `text` module is preloaded in lua. The module contains some UTF-8 aware string functions, implemented in Haskell. The module is loaded on request only, e.g.: text = require 'text' function Str (s) s.text = text.upper(s.text) return s end --- src/Text/Pandoc/Lua.hs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Lua.hs b/src/Text/Pandoc/Lua.hs index 355a5baf1..148e7a23d 100644 --- a/src/Text/Pandoc/Lua.hs +++ b/src/Text/Pandoc/Lua.hs @@ -46,6 +46,7 @@ import Text.Pandoc.Lua.PandocModule (pushMediaBagModule, pushPandocModule) import Text.Pandoc.Lua.Filter (LuaFilter, walkMWithLuaFilter) import Text.Pandoc.MediaBag (MediaBag) import qualified Foreign.Lua as Lua +import qualified Foreign.Lua.Module.Text as Lua runLuaFilter :: Maybe FilePath -> FilePath -> String -> Pandoc -> PandocIO (Either LuaException Pandoc) @@ -64,6 +65,7 @@ runLuaFilter' :: CommonState -> Pandoc -> Lua Pandoc runLuaFilter' commonState datadir filterPath format mbRef pd = do Lua.openlibs + Lua.preloadTextModule "text" -- store module in global "pandoc" pushPandocModule datadir Lua.setglobal "pandoc" -- cgit v1.2.3