aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs13
-rw-r--r--test/Tests/Readers/Muse.hs8
2 files changed, 18 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs
index 7eee064a7..fe8a55f5c 100644
--- a/src/Text/Pandoc/Readers/Muse.hs
+++ b/src/Text/Pandoc/Readers/Muse.hs
@@ -442,8 +442,7 @@ tableParseCaption = try $ do
--
inline :: PandocMonad m => MuseParser m (F Inlines)
-inline = choice [ whitespace
- , br
+inline = choice [ br
, footnote
, strong
, strongTag
@@ -455,6 +454,7 @@ inline = choice [ whitespace
, link
, code
, codeTag
+ , whitespace
, str
, symbol
] <?> "inline"
@@ -535,7 +535,14 @@ strikeoutTag :: PandocMonad m => MuseParser m (F Inlines)
strikeoutTag = inlineTag B.strikeout "del"
code :: PandocMonad m => MuseParser m (F Inlines)
-code = return . B.code <$> verbatimBetween '='
+code = try $ do
+ pos <- getPosition
+ sp <- if sourceColumn pos == 1
+ then pure mempty
+ else skipMany1 spaceChar >> pure B.space
+ cd <- verbatimBetween '='
+ notFollowedBy nonspaceChar
+ return $ return (sp B.<> B.code cd)
codeTag :: PandocMonad m => MuseParser m (F Inlines)
codeTag = do
diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs
index cac69dffa..bae389584 100644
--- a/test/Tests/Readers/Muse.hs
+++ b/test/Tests/Readers/Muse.hs
@@ -58,6 +58,8 @@ tests =
, "Code" =: "=foo(bar)=" =?> para (code "foo(bar)")
+ , "Not code" =: "a=b= =c=d" =?> para (text "a=b= =c=d")
+
, "Code tag" =: "<code>foo(bar)</code>" =?> para (code "foo(bar)")
, testGroup "Links"
@@ -79,6 +81,12 @@ tests =
, "Image link with description" =:
"[[URL:image.jpg][Image]]" =?>
para (link "image.jpg" "" (text "Image"))
+ -- Implicit links are supported in Emacs Muse, but not in Amusewiki:
+ -- https://github.com/melmothx/text-amuse/issues/18
+ --
+ -- This test also makes sure '=' without whitespace is not treated as code markup
+ , "No implicit links" =: "http://example.org/index.php?action=view&id=1"
+ =?> para "http://example.org/index.php?action=view&id=1"
]
]