diff options
| author | Albert Krewinkel <albert@zeitkraut.de> | 2022-10-12 15:38:11 +0200 |
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2022-12-16 10:43:01 -0800 |
| commit | 471317f4fe0a6aa6f16a27cd8a77d5cc5c6ee1f0 (patch) | |
| tree | 3b419b3bad6c4399d1e8453bdbcbb9289ff585f3 /src | |
| parent | 0d6c2e3e22290a7e29abbb7449c2f3c49ce12af4 (diff) | |
Extensions: add new function `disableExtensions`.
The function removes all elements in a second set from a base set.
Extensions in the second set that are not in the base set are ignored.
Diffstat (limited to 'src')
| -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 |
