aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/CommonMark.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2020-10-12 21:24:26 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2020-10-12 21:24:26 -0700
commit12ff835a8a8eeb374fb2992315c932809991fa63 (patch)
tree275677b6ea566ef815e52d7e84311fd68db629f9 /src/Text/Pandoc/Readers/CommonMark.hs
parent2007cff20318e1f086623e8fed16dcf927b1e027 (diff)
downloadpandoc-12ff835a8a8eeb374fb2992315c932809991fa63.tar.gz
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.
Diffstat (limited to 'src/Text/Pandoc/Readers/CommonMark.hs')
-rw-r--r--src/Text/Pandoc/Readers/CommonMark.hs43
1 files changed, 22 insertions, 21 deletions
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 ]