@@ -44,7 +44,7 @@ import Foreign.Lua (FromLuaStack (peek), Lua, LuaInteger, LuaNumber, StackIndex,
4444 ToLuaStack (push), Type (..), throwLuaError, tryLua)
4545import Text.Pandoc.Definition
4646import Text.Pandoc.Extensions (Extensions)
47−import Text.Pandoc.Lua.Util (getTable, getTag, pushViaConstructor, typeCheck)
47+import Text.Pandoc.Lua.Util (pushViaConstructor, typeCheck)
4848import Text.Pandoc.Options (ReaderOptions (..), TrackChanges)
4949import Text.Pandoc.Shared (Element (Blk, Sec), safeRead)
5050
@@ -62,7 +62,7 @@ instance ToLuaStack Pandoc where
6262instance FromLuaStack Pandoc where
6363 peek idx = defineHowTo "get Pandoc value" $ do
6464 typeCheck idx Lua.TypeTable
65− blocks <- getTable idx "blocks"
65+ blocks <- LuaUtil.rawField idx "blocks"
6666 meta <- Lua.getfield idx "meta" *> (Lua.peek Lua.stackTop `finally` Lua.pop 1)
6767 return $ Pandoc meta blocks
6868
@@ -99,12 +99,12 @@ instance ToLuaStack Citation where
9999
100100instance FromLuaStack Citation where
101101 peek idx = do
102− id' <- getTable idx "id"
103− prefix <- getTable idx "prefix"
104− suffix <- getTable idx "suffix"
105− mode <- getTable idx "mode"
106− num <- getTable idx "note_num"
107− hash <- getTable idx "hash"
102+ id' <- LuaUtil.rawField idx "id"
103+ prefix <- LuaUtil.rawField idx "prefix"
104+ suffix <- LuaUtil.rawField idx "suffix"
105+ mode <- LuaUtil.rawField idx "mode"
106+ num <- LuaUtil.rawField idx "note_num"
107+ hash <- LuaUtil.rawField idx "hash"
108108 return $ Citation id' prefix suffix mode num hash
109109
110110instance ToLuaStack Alignment where
@@ -178,7 +178,7 @@ peekMetaValue idx = defineHowTo "get MetaValue" $ do
178178 TypeBoolean -> MetaBool <$> peek idx
179179 TypeString -> MetaString <$> peek idx
180180 TypeTable -> do
181− tag <- tryLua $ getTag idx
181+ tag <- tryLua $ LuaUtil.getTag idx
182182 case tag of
183183 Right "MetaBlocks" -> MetaBlocks <$> elementContent
184184 Right "MetaBool" -> MetaBool <$> elementContent
@@ -220,7 +220,7 @@ pushBlock = \case
220220peekBlock :: StackIndex -> Lua Block
221221peekBlock idx = defineHowTo "get Block value" $ do
222222 typeCheck idx Lua.TypeTable
223− tag <- getTag idx
223+ tag <- LuaUtil.getTag idx
224224 case tag of
225225 "BlockQuote" -> BlockQuote <$> elementContent
226226 "BulletList" -> BulletList <$> elementContent
@@ -243,7 +243,7 @@ peekBlock idx = defineHowTo "get Block value" $ do
243243 where
244244 -- Get the contents of an AST element.
245245 elementContent :: FromLuaStack a => Lua a
246− elementContent = getTable idx "c"
246+ elementContent = LuaUtil.rawField idx "c"
247247
248248-- | Push an inline element to the top of the lua stack.
249249pushInline :: Inline -> Lua ()
@@ -272,7 +272,7 @@ pushInline = \case
272272peekInline :: StackIndex -> Lua Inline
273273peekInline idx = defineHowTo "get Inline value" $ do
274274 typeCheck idx Lua.TypeTable
275− tag <- getTag idx
275+ tag <- LuaUtil.getTag idx
276276 case tag of
277277 "Cite" -> uncurry Cite <$> elementContent
278278 "Code" -> withAttr Code <$> elementContent
@@ -299,7 +299,7 @@ peekInline idx = defineHowTo "get Inline value" $ do
299299 where
300300 -- Get the contents of an AST element.
301301 elementContent :: FromLuaStack a => Lua a
302− elementContent = getTable idx "c"
302+ elementContent = LuaUtil.rawField idx "c"
303303
304304withAttr :: (Attr -> a -> b) -> (LuaAttr, a) -> b
305305withAttr f (attributes, x) = f (fromLuaAttr attributes) x
@@ -321,11 +321,11 @@ instance ToLuaStack Element where
321321 push (Blk blk) = push blk
322322 push (Sec lvl num attr label contents) = do
323323 Lua.newtable
324− LuaUtil.addValue "level" lvl
325− LuaUtil.addValue "numbering" num
326− LuaUtil.addValue "attr" (LuaAttr attr)
327− LuaUtil.addValue "label" label
328− LuaUtil.addValue "contents" contents
324+ LuaUtil.addField "level" lvl
325+ LuaUtil.addField "numbering" num
326+ LuaUtil.addField "attr" (LuaAttr attr)
327+ LuaUtil.addField "label" label
328+ LuaUtil.addField "contents" contents
329329 pushSecMetaTable
330330 Lua.setmetatable (-2)
331331 where
@@ -333,7 +333,7 @@ instance ToLuaStack Element where
333333 pushSecMetaTable = do
334334 inexistant <- Lua.newmetatable "PandocElementSec"
335335 when inexistant $ do
336− LuaUtil.addValue "t" "Sec"
336+ LuaUtil.addField "t" "Sec"
337337 Lua.push "__index"
338338 Lua.pushvalue (-2)
339339 Lua.rawset (-3)
@@ -367,12 +367,12 @@ instance ToLuaStack ReaderOptions where
367367 (stripComments :: Bool)
368368 = ro
369369 Lua.newtable
370− LuaUtil.addValue "extensions" extensions
371− LuaUtil.addValue "standalone" standalone
372− LuaUtil.addValue "columns" columns
373− LuaUtil.addValue "tabStop" tabStop
374− LuaUtil.addValue "indentedCodeClasses" indentedCodeClasses
375− LuaUtil.addValue "abbreviations" abbreviations
376− LuaUtil.addValue "defaultImageExtension" defaultImageExtension
377− LuaUtil.addValue "trackChanges" trackChanges
378− LuaUtil.addValue "stripComments" stripComments
370+ LuaUtil.addField "extensions" extensions
371+ LuaUtil.addField "standalone" standalone
372+ LuaUtil.addField "columns" columns
373+ LuaUtil.addField "tabStop" tabStop
374+ LuaUtil.addField "indentedCodeClasses" indentedCodeClasses
375+ LuaUtil.addField "abbreviations" abbreviations
376+ LuaUtil.addField "defaultImageExtension" defaultImageExtension
377+ LuaUtil.addField "trackChanges" trackChanges
378+ LuaUtil.addField "stripComments" stripComments