aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Lua/Marshaling/AST.hs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Lua/Marshaling/AST.hs b/src/Text/Pandoc/Lua/Marshaling/AST.hs
index 883a6dce2..469dd4285 100644
--- a/src/Text/Pandoc/Lua/Marshaling/AST.hs
+++ b/src/Text/Pandoc/Lua/Marshaling/AST.hs
@@ -111,7 +111,18 @@ instance Pushable Block where
push = pushBlock
typeCitation :: LuaError e => DocumentedType e Citation
-typeCitation = deftype "Citation" []
+typeCitation = deftype "Citation"
+ [ operation Eq $ lambda
+ ### liftPure2 (==)
+ <#> parameter (optional . peekCitation) "Citation" "a" ""
+ <#> parameter (optional . peekCitation) "Citation" "b" ""
+ =#> functionResult pushBool "boolean" "true iff the citations are equal"
+
+ , operation Tostring $ lambda
+ ### liftPure show
+ <#> parameter peekCitation "Citation" "citation" ""
+ =#> functionResult pushString "string" "native Haskell representation"
+ ]
[ property "id" "citation ID / key"
(pushText, citationId)
(peekText, \citation cid -> citation{ citationId = cid })