aboutsummaryrefslogtreecommitdiff
path: root/pandoc-lua-engine/src/Text/Pandoc/Lua/Module
diff options
context:
space:
mode:
Diffstat (limited to 'pandoc-lua-engine/src/Text/Pandoc/Lua/Module')
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/CLI.hs2
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs1
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/JSON.hs2
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/MediaBag.hs1
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Pandoc.hs10
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Scaffolding.hs2
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Structure.hs1
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/System.hs1
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Template.hs3
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Types.hs1
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Utils.hs1
11 files changed, 24 insertions, 1 deletions
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/CLI.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/CLI.hs
index 6277efdd9..533482d6b 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/CLI.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/CLI.hs
@@ -31,6 +31,7 @@ documentedModule = Module
, moduleFields =
[ Field
{ fieldName = "default_options"
+ , fieldType = "table"
, fieldDescription = "Default CLI options, using a JSON-like " <>
"representation."
, fieldPushValue = pushViaJSON defaultOpts
@@ -50,6 +51,7 @@ documentedModule = Module
]
]
, moduleOperations = []
+ , moduleTypeInitializers = []
}
where
peekArgs idx =
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs
index 63753532a..2bc9910cd 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs
@@ -30,6 +30,7 @@ documentedModule = Module
, moduleFields = []
, moduleOperations = []
, moduleFunctions = functions
+ , moduleTypeInitializers = []
}
-- | Extension module functions.
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/JSON.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/JSON.hs
index 00cf9a100..a21635329 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/JSON.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/JSON.hs
@@ -42,6 +42,7 @@ documentedModule = Module
, moduleFields = fields
, moduleFunctions = functions
, moduleOperations = []
+ , moduleTypeInitializers = []
}
--
@@ -58,6 +59,7 @@ fields =
null :: LuaError e => Field e
null = Field
{ fieldName = "null"
+ , fieldType = "userdata"
, fieldDescription = "Value used to represent the `null` JSON value."
, fieldPushValue = pushValue Aeson.Null
}
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/MediaBag.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/MediaBag.hs
index 199f965d7..3de86cc99 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/MediaBag.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/MediaBag.hs
@@ -53,6 +53,7 @@ documentedModule = Module
, write
]
, moduleOperations = []
+ , moduleTypeInitializers = []
}
-- | Delete a single item from the media bag.
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Pandoc.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Pandoc.hs
index e921a67d0..37d78bb83 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Pandoc.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Pandoc.hs
@@ -74,12 +74,18 @@ documentedModule = Module
, inlineConstructors
, metaValueConstructors
]
+ , moduleTypeInitializers =
+ [ initType typePandoc
+ , initType typeBlock
+ , initType typeInline
+ ]
}
-- | Set of input formats accepted by @read@.
readersField :: Field PandocError
readersField = Field
{ fieldName = "readers"
+ , fieldType = "table"
, fieldDescription = T.unlines
[ "Set of formats that pandoc can parse. All keys in this table can"
, "be used as the `format` value in `pandoc.read`."
@@ -92,6 +98,7 @@ readersField = Field
writersField :: Field PandocError
writersField = Field
{ fieldName = "writers"
+ , fieldType = "table"
, fieldDescription = T.unlines
[ "Set of formats that pandoc can generate. All keys in this table"
, "can be used as the `format` value in `pandoc.write`."
@@ -104,6 +111,7 @@ writersField = Field
inlineField :: Field PandocError
inlineField = Field
{ fieldName = "Inline"
+ , fieldType = "table"
, fieldDescription = "Inline constructors, nested under 'constructors'."
-- the nesting happens for historical reasons and should probably be
-- changed.
@@ -114,6 +122,7 @@ inlineField = Field
blockField :: Field PandocError
blockField = Field
{ fieldName = "Block"
+ , fieldType = "table"
, fieldDescription = "Inline constructors, nested under 'constructors'."
-- the nesting happens for historical reasons and should probably be
-- changed.
@@ -176,6 +185,7 @@ stringConstants =
]
toField s = Field
{ fieldName = T.pack s
+ , fieldType = "string"
, fieldDescription = T.pack s
, fieldPushValue = pushString s
}
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Scaffolding.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Scaffolding.hs
index f90c5d761..81ff13e39 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Scaffolding.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Scaffolding.hs
@@ -26,12 +26,14 @@ documentedModule = Module
, moduleFields = [writerScaffolding]
, moduleOperations = []
, moduleFunctions = []
+ , moduleTypeInitializers = []
}
-- | Template module functions.
writerScaffolding :: Field PandocError
writerScaffolding = Field
{ fieldName = "Writer"
+ , fieldType = "table"
, fieldDescription = T.unlines
[ "An object to be used as a `Writer` function; the construct handles"
, "most of the boilerplate, expecting only render functions for all"
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Structure.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Structure.hs
index 21248c724..d8894e103 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Structure.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Structure.hs
@@ -51,6 +51,7 @@ documentedModule = Module
, table_of_contents
]
, moduleOperations = []
+ , moduleTypeInitializers = []
}
make_sections :: LuaError e => DocumentedFunction e
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/System.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/System.hs
index 61ab949a8..1d685e13e 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/System.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/System.hs
@@ -41,4 +41,5 @@ documentedModule = Module
, setName "with_working_directory" with_wd
]
, moduleOperations = []
+ , moduleTypeInitializers = []
}
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Template.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Template.hs
index 652588947..87d9cebb5 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Template.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Template.hs
@@ -16,7 +16,7 @@ import HsLua.Module.DocLayout (peekDoc, pushDoc)
import Text.Pandoc.Error (PandocError)
import Text.Pandoc.Lua.Marshal.AST (peekMeta, pushBlocks, pushInlines)
import Text.Pandoc.Lua.Marshal.Context (peekContext, pushContext)
-import Text.Pandoc.Lua.Marshal.Template (peekTemplate, pushTemplate)
+import Text.Pandoc.Lua.Marshal.Template (typeTemplate, peekTemplate, pushTemplate)
import Text.Pandoc.Lua.PandocLua (PandocLua (unPandocLua), liftPandocLua)
import Text.Pandoc.Writers.Shared (metaToContext')
import Text.Pandoc.Templates
@@ -35,6 +35,7 @@ documentedModule = Module
, moduleFields = []
, moduleOperations = []
, moduleFunctions = functions
+ , moduleTypeInitializers = [initType typeTemplate]
}
-- | Template module functions.
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Types.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Types.hs
index 32630ba71..4f656ff3f 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Types.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Types.hs
@@ -39,4 +39,5 @@ documentedModule = Module
=#> functionResult pushVersion "Version" "A new Version object."
]
, moduleOperations = []
+ , moduleTypeInitializers = []
}
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Utils.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Utils.hs
index 513b5274e..74e3cc4ec 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Utils.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Utils.hs
@@ -49,6 +49,7 @@ documentedModule = Module
, moduleDescription = "pandoc utility functions"
, moduleFields = []
, moduleOperations = []
+ , moduleTypeInitializers = []
, moduleFunctions =
[ defun "blocks_to_inlines"
### (\blks mSep -> do