summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2017-11-27 12:24:55 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2017-11-27 12:25:06 +0300
commitc2993a6fc6882ed4b5fc4162238cfda8f84dbc81 (patch)
tree2516b29da1fb5e69b43cce092d725db0de57a017
parenta1378ed76bbefdd85e36674158103e991be6c578 (diff)
Muse reader: parse "~~" as non-breaking space in Emacs mode
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs7
-rw-r--r--test/Tests/Readers/Muse.hs3
2 files changed, 10 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs
index 4f9e9697d..794ca7385 100644
--- a/src/Text/Pandoc/Readers/Muse.hs
+++ b/src/Text/Pandoc/Readers/Muse.hs
@@ -581,6 +581,7 @@ inlineList = [ endline
, subscriptTag
, strikeoutTag
, verbatimTag
+ , nbsp
, link
, code
, codeTag
@@ -682,6 +683,12 @@ verbatimTag = do
content <- parseHtmlContent "verbatim" anyChar
return $ return $ B.text content
+nbsp :: PandocMonad m => MuseParser m (F Inlines)
+nbsp = do
+ guardDisabled Ext_amuse -- Supported only by Emacs Muse
+ string "~~"
+ return $ return $ B.str "\160"
+
code :: PandocMonad m => MuseParser m (F Inlines)
code = try $ do
pos <- getPosition
diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs
index 19d5e0fae..4c7e57980 100644
--- a/test/Tests/Readers/Muse.hs
+++ b/test/Tests/Readers/Muse.hs
@@ -105,6 +105,9 @@ tests =
, "Linebreak" =: "Line <br> break" =?> para ("Line" <> linebreak <> "break")
+ , test emacsMuse "Non-breaking space"
+ ("Foo~~bar" =?> para ("Foo\160bar"))
+
, testGroup "Code markup"
[ "Code" =: "=foo(bar)=" =?> para (code "foo(bar)")