module Text.MMark.Extension.Comment
( commentParagraph )
where
import Control.Monad
import Data.List.NonEmpty (NonEmpty (..))
import Data.Text (Text)
import Text.MMark.Extension (Extension, Block (..), Inline (..))
import qualified Data.Text as T
import qualified Text.MMark.Extension as Ext
commentParagraph
:: Text
-> Extension
commentParagraph commentPrefix = Ext.blockRender $ \old block ->
case block of
p@(Paragraph (ois, _)) ->
case Ext.getOis ois of
(Plain txt :| _) ->
unless (commentPrefix `T.isPrefixOf` txt) $
old p
_ -> old p
other -> old other