git.iko.soy/typeable/pandoc
on master help sign in
Run commonmark parser in Identity monad.

So far this is necessary if we want def lists, task lists, and footnotes.

commit7923d53ca2b753d1174a043f9ad2c22c22647ee0 authorJohn MacFarlane <jgm@berkeley.edu> dateFri 3 Apr 2020, 18:01 (7 years ago) parent9b3b9da
1 file changed+7−6
src/Text/Pandoc/Readers/CommonMark.hs+7−6
src/Text/Pandoc/Readers/CommonMark.hs+7−6
@@ -31,12 +31,13 @@ import Text.Pandoc.Error
3131import Control.Monad.Except
3232import Control.Monad.State
3333import qualified Data.Set as Set
34+import Data.Functor.Identity (runIdentity)
3435
3536-- | Parse a CommonMark formatted string into a 'Pandoc' structure.
3637readCommonMark :: PandocMonad m => ReaderOptions -> Text -> m Pandoc
3738readCommonMark opts s = do
38− res <- parseCommonmarkWith
39− (foldr (<>) defaultSyntaxSpec exts) (tokenize "input" s)
39+ let res = runIdentity $
40+ commonmarkWith (foldr (<>) defaultSyntaxSpec exts) "input" s
4041 case res of
4142 Left err -> throwError $ PandocParsecError s err
4243 Right (Cm bls :: Cm () Blocks) -> return $
@@ -50,8 +51,6 @@ readCommonMark opts s = do
5051 [ superscriptSpec | isEnabled Ext_superscript opts ] ++
5152 [ subscriptSpec | isEnabled Ext_subscript opts ] ++
5253 [ mathSpec | isEnabled Ext_tex_math_dollars opts ] ++
53− -- [ footnoteSpec | isEnabled Ext_footnotes opts ] ++
54− -- [ definitionListSpec | isEnabled Ext_definition_lists opts ] ++
5554 [ fancyListSpec | isEnabled Ext_fancy_lists opts ] ++
5655 [ implicitHeadingReferencesSpec
5756 | isEnabled Ext_implicit_header_references opts ] ++
@@ -62,8 +61,10 @@ readCommonMark opts s = do
6261 isEnabled Ext_inline_code_attributes opts ] ++
6362 [ pipeTableSpec | isEnabled Ext_pipe_tables opts ] ++
6463 [ autolinkSpec | isEnabled Ext_autolink_bare_uris opts ] ++
65− [ emojiSpec | isEnabled Ext_emoji opts ] -- ++
66− -- [ taskListSpec | isEnabled Ext_task_lists opts ]
64+ [ emojiSpec | isEnabled Ext_emoji opts ] ++
65+ [ footnoteSpec | isEnabled Ext_footnotes opts ] ++
66+ [ definitionListSpec | isEnabled Ext_definition_lists opts ] ++
67+ [ taskListSpec | isEnabled Ext_task_lists opts ]
6768
6869addHeaderIdentifiers :: ReaderOptions -> Pandoc -> Pandoc
6970addHeaderIdentifiers opts d =