Muse reader: parse "~~" as non-breaking space in Emacs mode
commitc2993a6fc6882ed4b5fc4162238cfda8f84dbc81
authorAlexander Krotov <ilabdsf@gmail.com>
dateMon 27 Nov 2017, 12:24 (9 years ago)
parenta1378ed
src/Text/Pandoc/Readers/Muse.hs+7
@@ -581,6 +581,7 @@ inlineList = [ endline
581581 , subscriptTag
582582 , strikeoutTag
583583 , verbatimTag
584+ , nbsp
584585 , link
585586 , code
586587 , codeTag
@@ -682,6 +683,12 @@ verbatimTag = do
682683 content <- parseHtmlContent "verbatim" anyChar
683684 return $ return $ B.text content
684685
686+nbsp :: PandocMonad m => MuseParser m (F Inlines)
687+nbsp = do
688+ guardDisabled Ext_amuse -- Supported only by Emacs Muse
689+ string "~~"
690+ return $ return $ B.str "\160"
691+
685692code :: PandocMonad m => MuseParser m (F Inlines)
686693code = try $ do
687694 pos <- getPosition
test/Tests/Readers/Muse.hs+3
@@ -105,6 +105,9 @@ tests =
105105
106106 , "Linebreak" =: "Line <br> break" =?> para ("Line" <> linebreak <> "break")
107107
108+ , test emacsMuse "Non-breaking space"
109+ ("Foo~~bar" =?> para ("Foo\160bar"))
110+
108111 , testGroup "Code markup"
109112 [ "Code" =: "=foo(bar)=" =?> para (code "foo(bar)")
110113