@@ -858,10 +858,17 @@ inlineToMarkdown :: WriterOptions -> Inline -> MD Doc
858858inlineToMarkdown opts (Span attrs ils) = do
859859 plain <- asks envPlain
860860 contents <- inlineListToMarkdown opts ils
861− return $ if not plain &&
862− (isEnabled Ext_raw_html opts || isEnabled Ext_native_spans opts)
863− then tagWithAttrs "span" attrs <> contents <> text "</span>"
864− else contents
861+ return $ case plain of
862+ True -> contents
863+ False | isEnabled Ext_bracketed_spans opts ->
864+ "[" <> contents <> "]" <>
865+ if attrs == nullAttr
866+ then "{}"
867+ else linkAttributes opts attrs
868+ | isEnabled Ext_raw_html opts ||
869+ isEnabled Ext_native_spans opts ->
870+ tagWithAttrs "span" attrs <> contents <> text "</span>"
871+ | otherwise -> contents
865872inlineToMarkdown opts (Emph lst) = do
866873 plain <- asks envPlain
867874 contents <- inlineListToMarkdown opts lst