aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2022-11-19 10:43:20 -0800
committerJohn MacFarlane <[email protected]>2022-11-19 10:43:20 -0800
commit113f869e508e940ca0cc6d80a0565e7ce205b156 (patch)
treed12eb69043ef79d7ac87b5fad9837721b13dbbb6
parent663e43187340f3f2bd77bb0716f795bb023e5b5d (diff)
Markdown reader: parse `==..==` if `mark` extension enabled.
See #7743.
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index 42df8b985..5efc424ce 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -1509,6 +1509,7 @@ inline = do
'!' -> image
'$' -> math
'~' -> strikeout <|> subscript
+ '=' -> mark
'<' -> autoLink <|> spanHtml <|> rawHtmlInline <|> ltSign
'\\' -> math <|> escapedNewline <|> escapedChar <|> rawLaTeXInline'
'@' -> cite <|> exampleRef
@@ -1698,6 +1699,13 @@ strikeout = fmap B.strikeout <$>
>> notFollowedBy (char '~')
strikeEnd = try $ string "~~"
+mark :: PandocMonad m => MarkdownParser m (F Inlines)
+mark = fmap (B.spanWith ("",["mark"],[])) <$>
+ (guardEnabled Ext_mark >> inlinesBetween markStart markEnd)
+ where markStart = string "==" >> lookAhead nonspaceChar
+ >> notFollowedBy (char '=')
+ markEnd = try $ string "=="
+
superscript :: PandocMonad m => MarkdownParser m (F Inlines)
superscript = do
fmap B.superscript <$> try (do