aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2021-10-31 11:12:53 +0100
committerAlbert Krewinkel <albert@zeitkraut.de>2021-10-31 11:15:50 +0100
commit3de8f4fdc552c7ba103ec30ef79ea42ec674a8cc (patch)
tree6425971fb7f0a95adde35030d80045ccc2260de0
parent40655b54a2273371c77230dfe835e8789c06d409 (diff)
downloadpandoc-3de8f4fdc552c7ba103ec30ef79ea42ec674a8cc.tar.gz
Lua: re-add `content` property to Link elements
This was a regression introduced in version 2.15. Fixes: #7647
-rw-r--r--src/Text/Pandoc/Lua/Marshaling/AST.hs2
-rw-r--r--test/lua/module/pandoc.lua10
2 files changed, 12 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Lua/Marshaling/AST.hs b/src/Text/Pandoc/Lua/Marshaling/AST.hs
index aabc9e530..07b11b3ea 100644
--- a/src/Text/Pandoc/Lua/Marshaling/AST.hs
+++ b/src/Text/Pandoc/Lua/Marshaling/AST.hs
@@ -608,6 +608,7 @@ setInlineContent = \case
-- inline content
Cite cs _ -> Actual . Cite cs . inlineContent
Emph _ -> Actual . Emph . inlineContent
+ Link a _ tgt -> Actual . (\inlns -> Link a inlns tgt) . inlineContent
Quoted qt _ -> Actual . Quoted qt . inlineContent
SmallCaps _ -> Actual . SmallCaps . inlineContent
Span attr _ -> Actual . Span attr . inlineContent
@@ -633,6 +634,7 @@ getInlineContent :: Inline -> Possible Content
getInlineContent = \case
Cite _ inlns -> Actual $ ContentInlines inlns
Emph inlns -> Actual $ ContentInlines inlns
+ Link _ inlns _ -> Actual $ ContentInlines inlns
Quoted _ inlns -> Actual $ ContentInlines inlns
SmallCaps inlns -> Actual $ ContentInlines inlns
Span _ inlns -> Actual $ ContentInlines inlns
diff --git a/test/lua/module/pandoc.lua b/test/lua/module/pandoc.lua
index 6e8257633..b18a01faa 100644
--- a/test/lua/module/pandoc.lua
+++ b/test/lua/module/pandoc.lua
@@ -148,6 +148,16 @@ return {
end)
}
},
+ group "Inline elements" {
+ test('Link has property `content`', function ()
+ local link = pandoc.Link('example', 'https://example.org')
+ assert.are_same(link.content, {pandoc.Str 'example'})
+
+ link.content = 'commercial'
+ link.target = 'https://example.com'
+ assert.are_equal(link, pandoc.Link('commercial', 'https://example.com'))
+ end)
+ },
group "Block elements" {
group "BulletList" {
test('access items via property `content`', function ()