diff options
author | Alexander Krotov <ilabdsf@gmail.com> | 2017-11-24 12:17:20 +0300 |
---|---|---|
committer | Alexander Krotov <ilabdsf@gmail.com> | 2017-11-24 12:17:20 +0300 |
commit | 0cfd764d27bc03b59871e477d6bfd7341f4916b0 (patch) | |
tree | be7d4dda1613f1a8d7a563d6345bac50e6334342 /src/Text/Pandoc/Writers | |
parent | cd85c73ded2b100d33d3c1d36eac182bdd593b2f (diff) | |
download | pandoc-0cfd764d27bc03b59871e477d6bfd7341f4916b0.tar.gz |
Muse: move inline list normalization to writer
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r-- | src/Text/Pandoc/Writers/Muse.hs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/Muse.hs b/src/Text/Pandoc/Writers/Muse.hs index a6ef28ba7..ed5ad5793 100644 --- a/src/Text/Pandoc/Writers/Muse.hs +++ b/src/Text/Pandoc/Writers/Muse.hs @@ -291,11 +291,19 @@ conditionalEscapeString s = then escapeString s else s +normalizeInlineList :: [Inline] -> [Inline] +normalizeInlineList (Code a1 x1 : Code a2 x2 : ils) | a1 == a2 + = normalizeInlineList $ Code a1 (x1 ++ x2) : ils +normalizeInlineList (RawInline f1 x1 : RawInline f2 x2 : ils) | f1 == f2 + = normalizeInlineList $ RawInline f1 (x1 ++ x2) : ils +normalizeInlineList (x:xs) = x : normalizeInlineList xs +normalizeInlineList [] = [] + -- | Convert list of Pandoc inline elements to Muse. inlineListToMuse :: PandocMonad m => [Inline] -> StateT WriterState m Doc -inlineListToMuse lst = liftM hcat (mapM inlineToMuse lst) +inlineListToMuse lst = liftM hcat (mapM inlineToMuse (normalizeInlineList lst)) -- | Convert Pandoc inline element to Muse. inlineToMuse :: PandocMonad m |