From 163af3fdee3c09234436ea7aab84a8b29ec1cece Mon Sep 17 00:00:00 2001
From: Alexander Krotov <ilabdsf@gmail.com>
Date: Sun, 19 Nov 2017 01:23:46 +0300
Subject: Muse reader: produce SoftBreaks on newlines

Now wrapping can be preserved with --wrap=preserve
---
 src/Text/Pandoc/Readers/Muse.hs | 46 +++++++++++++++++++++++++----------------
 1 file changed, 28 insertions(+), 18 deletions(-)

(limited to 'src')

diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs
index 8c785e002..4510e08ce 100644
--- a/src/Text/Pandoc/Readers/Muse.hs
+++ b/src/Text/Pandoc/Readers/Muse.hs
@@ -556,25 +556,35 @@ tableParseCaption = try $ do
 -- inline parsers
 --
 
+inlineList :: PandocMonad m => [MuseParser m (F Inlines)]
+inlineList = [ endline
+             , br
+             , anchor
+             , footnote
+             , strong
+             , strongTag
+             , emph
+             , emphTag
+             , superscriptTag
+             , subscriptTag
+             , strikeoutTag
+             , verbatimTag
+             , link
+             , code
+             , codeTag
+             , whitespace
+             , str
+             , symbol
+             ]
+
 inline :: PandocMonad m => MuseParser m (F Inlines)
-inline = choice [ br
-                , anchor
-                , footnote
-                , strong
-                , strongTag
-                , emph
-                , emphTag
-                , superscriptTag
-                , subscriptTag
-                , strikeoutTag
-                , verbatimTag
-                , link
-                , code
-                , codeTag
-                , whitespace
-                , str
-                , symbol
-                ] <?> "inline"
+inline = (choice inlineList) <?> "inline"
+
+endline :: PandocMonad m => MuseParser m (F Inlines)
+endline = try $ do
+  newline
+  notFollowedBy blankline
+  returnF B.softbreak
 
 anchor :: PandocMonad m => MuseParser m (F Inlines)
 anchor = try $ do
-- 
cgit v1.2.3