diff options
Diffstat (limited to 'src/Text/Pandoc/Lua.hs')
-rw-r--r-- | src/Text/Pandoc/Lua.hs | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/Text/Pandoc/Lua.hs b/src/Text/Pandoc/Lua.hs index 9903d4df6..d8b9f62f0 100644 --- a/src/Text/Pandoc/Lua.hs +++ b/src/Text/Pandoc/Lua.hs @@ -18,7 +18,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} -{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Lua Copyright : Copyright © 2017 Albert Krewinkel @@ -49,7 +48,7 @@ runLuaFilter filterPath args pd = liftIO $ do lua <- Lua.newstate Lua.openlibs lua -- create table in registry to store filter functions - Lua.push lua ("PANDOC_FILTER_FUNCTIONS"::String) + Lua.push lua "PANDOC_FILTER_FUNCTIONS" Lua.newtable lua Lua.rawset lua Lua.registryindex -- store module in global "pandoc" @@ -65,7 +64,7 @@ runLuaFilter filterPath args pd = liftIO $ do Just luaFilters <- Lua.peek lua (-1) Lua.push lua args Lua.setglobal lua "PandocParameters" - doc <- runAll luaFilters >=> luaFilter lua "filter_doc" $ pd + doc <- runAll luaFilters pd Lua.close lua return doc @@ -73,13 +72,6 @@ runAll :: [LuaFilter] -> Pandoc -> IO Pandoc runAll [] = return runAll (x:xs) = walkMWithLuaFilter x >=> runAll xs -luaFilter :: Lua.LuaState -> String -> Pandoc -> IO Pandoc -luaFilter lua luaFn x = do - fnExists <- isLuaFunction lua luaFn - if fnExists - then walkM (Lua.callfunc lua luaFn :: Pandoc -> IO Pandoc) x - else return x - walkMWithLuaFilter :: LuaFilter -> Pandoc -> IO Pandoc walkMWithLuaFilter (LuaFilter lua inlineFnMap blockFnMap docFnMap) = walkM (execInlineLuaFilter lua inlineFnMap) >=> @@ -227,11 +219,3 @@ instance StackValue (LuaFilterFunction a) where Lua.rawseti lua (-2) (len + 1) Lua.pop lua 1 return . Just $ LuaFilterFunction (len + 1) - - -isLuaFunction :: Lua.LuaState -> String -> IO Bool -isLuaFunction lua fnName = do - Lua.getglobal lua fnName - res <- Lua.isfunction lua (-1) - Lua.pop lua (-1) - return res |