From 12ff835a8a8eeb374fb2992315c932809991fa63 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 12 Oct 2020 21:24:26 -0700 Subject: Commonmark reader: add pipe_table extension after defaults. Otherwise we get bad results for non-table, non-paragraph lines containing pipe characters. Closes #6739. See also jgm/commonmark-hs#52. --- src/Text/Pandoc/Readers/CommonMark.hs | 43 ++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/CommonMark.hs b/src/Text/Pandoc/Readers/CommonMark.hs index 43db6d59a..c1773eaab 100644 --- a/src/Text/Pandoc/Readers/CommonMark.hs +++ b/src/Text/Pandoc/Readers/CommonMark.hs @@ -32,34 +32,35 @@ import Data.Functor.Identity (runIdentity) readCommonMark :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readCommonMark opts s = do let res = runIdentity $ - commonmarkWith (foldr (<>) defaultSyntaxSpec exts) "input" s + commonmarkWith (foldr ($) defaultSyntaxSpec exts) "input" s case res of Left err -> throwError $ PandocParsecError s err Right (Cm bls :: Cm () Blocks) -> return $ B.doc bls where - exts = [ hardLineBreaksSpec | isEnabled Ext_hard_line_breaks opts ] ++ - [ smartPunctuationSpec | isEnabled Ext_smart opts ] ++ - [ strikethroughSpec | isEnabled Ext_strikeout opts ] ++ - [ superscriptSpec | isEnabled Ext_superscript opts ] ++ - [ subscriptSpec | isEnabled Ext_subscript opts ] ++ - [ mathSpec | isEnabled Ext_tex_math_dollars opts ] ++ - [ fancyListSpec | isEnabled Ext_fancy_lists opts ] ++ - [ fencedDivSpec | isEnabled Ext_fenced_divs opts ] ++ - [ bracketedSpanSpec | isEnabled Ext_bracketed_spans opts ] ++ - [ rawAttributeSpec | isEnabled Ext_raw_attribute opts ] ++ - [ attributesSpec | isEnabled Ext_attributes opts ] ++ - [ pipeTableSpec | isEnabled Ext_pipe_tables opts ] ++ - [ autolinkSpec | isEnabled Ext_autolink_bare_uris opts ] ++ - [ emojiSpec | isEnabled Ext_emoji opts ] ++ - [ autoIdentifiersSpec + exts = [ (hardLineBreaksSpec <>) | isEnabled Ext_hard_line_breaks opts ] ++ + [ (smartPunctuationSpec <>) | isEnabled Ext_smart opts ] ++ + [ (strikethroughSpec <>) | isEnabled Ext_strikeout opts ] ++ + [ (superscriptSpec <>) | isEnabled Ext_superscript opts ] ++ + [ (subscriptSpec <>) | isEnabled Ext_subscript opts ] ++ + [ (mathSpec <>) | isEnabled Ext_tex_math_dollars opts ] ++ + [ (fancyListSpec <>) | isEnabled Ext_fancy_lists opts ] ++ + [ (fencedDivSpec <>) | isEnabled Ext_fenced_divs opts ] ++ + [ (bracketedSpanSpec <>) | isEnabled Ext_bracketed_spans opts ] ++ + [ (rawAttributeSpec <>) | isEnabled Ext_raw_attribute opts ] ++ + [ (attributesSpec <>) | isEnabled Ext_attributes opts ] ++ + [ (<> pipeTableSpec) | isEnabled Ext_pipe_tables opts ] ++ + -- see #6739 + [ (autolinkSpec <>) | isEnabled Ext_autolink_bare_uris opts ] ++ + [ (emojiSpec <>) | isEnabled Ext_emoji opts ] ++ + [ (autoIdentifiersSpec <>) | isEnabled Ext_gfm_auto_identifiers opts , not (isEnabled Ext_ascii_identifiers opts) ] ++ - [ autoIdentifiersAsciiSpec + [ (autoIdentifiersAsciiSpec <>) | isEnabled Ext_gfm_auto_identifiers opts , isEnabled Ext_ascii_identifiers opts ] ++ - [ implicitHeadingReferencesSpec + [ (implicitHeadingReferencesSpec <>) | isEnabled Ext_implicit_header_references opts ] ++ - [ footnoteSpec | isEnabled Ext_footnotes opts ] ++ - [ definitionListSpec | isEnabled Ext_definition_lists opts ] ++ - [ taskListSpec | isEnabled Ext_task_lists opts ] + [ (footnoteSpec <>) | isEnabled Ext_footnotes opts ] ++ + [ (definitionListSpec <>) | isEnabled Ext_definition_lists opts ] ++ + [ (taskListSpec <>) | isEnabled Ext_task_lists opts ] -- cgit v1.2.3