From 0713cb65bc6fcea0c950d1afcdfdce412a8b56d4 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sat, 13 Jul 2019 20:54:26 +0300 Subject: Muse: add RTL support Closes #5551 --- src/Text/Pandoc/Readers/Muse.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 568287929..ca7c94245 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -746,6 +746,8 @@ inline' = whitespace <|> strikeoutTag <|> verbatimTag <|> classTag + <|> inlineRtl + <|> inlineLtr <|> nbsp <|> linkOrImage <|> code @@ -863,6 +865,16 @@ classTag = do classes <- maybe [] words . lookup "name" <$> openTag "class" fmap (B.spanWith ("", classes, [])) . mconcat <$> manyTill inline (closeTag "class") +-- | Parse @\<\<\>>@ text. +inlineRtl :: PandocMonad m => MuseParser m (F Inlines) +inlineRtl = try $ + fmap (B.spanWith ("", [], [("dir", "rtl")])) . mconcat <$ string "<<<" <*> manyTill inline (string ">>>") + +-- | Parse @\<\<\>>@ text. +inlineLtr :: PandocMonad m => MuseParser m (F Inlines) +inlineLtr = try $ + fmap (B.spanWith ("", [], [("dir", "ltr")])) . mconcat <$ string ">>>" <*> manyTill inline (string "<<<") + -- | Parse "~~" as nonbreaking space. nbsp :: PandocMonad m => MuseParser m (F Inlines) nbsp = try $ pure (B.str "\160") <$ string "~~" -- cgit v1.2.3