diff options
| -rw-r--r-- | src/Text/Pandoc/Extensions.hs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Extensions.hs b/src/Text/Pandoc/Extensions.hs index efe4ed879..eedb823ae 100644 --- a/src/Text/Pandoc/Extensions.hs +++ b/src/Text/Pandoc/Extensions.hs @@ -23,6 +23,7 @@ module Text.Pandoc.Extensions ( Extension(..) , extensionEnabled , enableExtension , disableExtension + , disableExtensions , getDefaultExtensions , getAllExtensions , pandocExtensions @@ -193,6 +194,14 @@ enableExtension x (Extensions exts) = Extensions (Set.insert x exts) disableExtension :: Extension -> Extensions -> Extensions disableExtension x (Extensions exts) = Extensions (Set.delete x exts) +-- | Removes the extensions in the second set from those in the first. +disableExtensions :: Extensions -- ^ base set + -> Extensions -- ^ extensions to remove + -> Extensions +disableExtensions (Extensions base) (Extensions remove) = Extensions $ + -- keep only those extensions that are in `base` but not in `remove`. + base `Set.difference` remove + -- | Extensions to be used with pandoc-flavored markdown. pandocExtensions :: Extensions pandocExtensions = extensionsFromList |
