git.iko.soy/typeable/pandoc
on master help sign in
Lua filters: perform minor code clean-up
70dc583Albert Krewinkel
src/Text/Pandoc/Lua/Init.hs+4−4
@@ -50,8 +50,7 @@ import qualified Foreign.Lua.Module.Text as Lua
50-- initalization.
50-- initalization.
51runPandocLua :: Lua a -> PandocIO (Either LuaException a)
51runPandocLua :: Lua a -> PandocIO (Either LuaException a)
52runPandocLua luaOp = do
52runPandocLua luaOp = do
53− datadir <- getUserDataDir
54− luaPkgParams <- luaPackageParams datadir
53+ luaPkgParams <- luaPackageParams
55 enc <- liftIO $ getForeignEncoding <* setForeignEncoding utf8
54 enc <- liftIO $ getForeignEncoding <* setForeignEncoding utf8
56 res <- liftIO $ Lua.runLuaEither (initLuaState luaPkgParams *> luaOp)
55 res <- liftIO $ Lua.runLuaEither (initLuaState luaPkgParams *> luaOp)
57 liftIO $ setForeignEncoding enc
56 liftIO $ setForeignEncoding enc
@@ -60,9 +59,10 @@ runPandocLua luaOp = do
60 return res
59 return res
61
60
62-- | Generate parameters required to setup pandoc's lua environment.
61-- | Generate parameters required to setup pandoc's lua environment.
63−luaPackageParams :: Maybe FilePath -> PandocIO LuaPackageParams
62+luaPackageParams :: PandocIO LuaPackageParams
64−luaPackageParams datadir = do
63+luaPackageParams = do
65 commonState <- getCommonState
64 commonState <- getCommonState
65+ datadir <- getUserDataDir
66 mbRef <- liftIO . newIORef =<< getMediaBag
66 mbRef <- liftIO . newIORef =<< getMediaBag
67 return LuaPackageParams
67 return LuaPackageParams
68 { luaPkgCommonState = commonState
68 { luaPkgCommonState = commonState
src/Text/Pandoc/Lua/PandocModule.hs+4−7
@@ -71,16 +71,13 @@ pushPandocModule datadir = do
71 return 1
71 return 1
72
72
73walkElement :: (ToLuaStack a, Walkable [Inline] a, Walkable [Block] a)
73walkElement :: (ToLuaStack a, Walkable [Inline] a, Walkable [Block] a)
74− => a -> LuaFilter -> Lua NumResults
74+ => a -> LuaFilter -> Lua a
75−walkElement x f = do
76− x' <- walkInlines f x >>= walkBlocks f
75+walkElement x f = walkInlines f x >>= walkBlocks f
77− Lua.push x'
78− return 1
79
76
80−walkInline :: Inline -> LuaFilter -> Lua NumResults
77+walkInline :: Inline -> LuaFilter -> Lua Inline
81walkInline = walkElement
78walkInline = walkElement
82
79
83−walkBlock :: Block -> LuaFilter -> Lua NumResults
80+walkBlock :: Block -> LuaFilter -> Lua Block
84walkBlock = walkElement
81walkBlock = walkElement
85
82
86readDoc :: String -> String -> Lua NumResults
83readDoc :: String -> String -> Lua NumResults