aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <[email protected]>2026-01-02 14:33:02 +0100
committerAlbert Krewinkel <[email protected]>2026-01-02 14:42:11 +0100
commite8d140f41feb0ad023c0b7f22355fec96207dfee (patch)
tree9bcdfcce906e6c6d3dfc80df3d1c7461d155205e
parent7b68846b921a26e7c5688eae9a87b4f4de9b9da5 (diff)
Lua: support equallity checks of LogMessage objects
The *LogMessage* type now has the appropriate metamethod.
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Marshal/LogMessage.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Marshal/LogMessage.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Marshal/LogMessage.hs
index 752f136f7..788c56bf4 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Marshal/LogMessage.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Marshal/LogMessage.hs
@@ -13,6 +13,8 @@ module Text.Pandoc.Lua.Marshal.LogMessage
, typeLogMessage
) where
+import Control.Applicative (optional)
+import Data.Maybe (fromMaybe)
import HsLua
import Text.Pandoc.Logging (LogMessage, showLogMessage)
import qualified Data.Aeson as Aeson
@@ -24,6 +26,11 @@ typeLogMessage = deftype "LogMessage"
### liftPure showLogMessage
<#> udparam typeLogMessage "msg" "object"
=#> functionResult pushText "string" "stringified log message"
+ , operation Eq $ lambda
+ ### liftPure2 (\a b -> fromMaybe False ((==) <$> a <*> b))
+ <#> parameter (optional . peekLogMessage) "a" "LogMessage" ""
+ <#> parameter (optional . peekLogMessage) "b" "LogMessage" ""
+ =#> functionResult pushBool "boolean" "whether the two are equal"
, operation (CustomOperation "__tojson") $ lambda
### liftPure Aeson.encode
<#> udparam typeLogMessage "msg" "object"