emanote-1.0.2.0: src/Emanote/Pandoc/Markdown/Syntax/Highlight.hs
module Emanote.Pandoc.Markdown.Syntax.Highlight (
highlightSpec,
) where
import Commonmark qualified as CM
import Commonmark.Inlines qualified as CM
import Commonmark.Pandoc qualified as CP
import Relude
import Text.Pandoc.Builder qualified as B
highlightSpec ::
(Monad m, CM.IsInline il, HasHighlight il) =>
CM.SyntaxSpec m il bl
highlightSpec =
mempty
{ CM.syntaxFormattingSpecs =
[ CM.FormattingSpec '=' True True Nothing (Just highlight) '='
]
}
class HasHighlight a where
highlight :: a -> a
instance HasHighlight (CP.Cm a B.Inlines) where
highlight il = B.spanWith attr <$> il
where
attr = ("", one "highlight-inline", [])