From db0232fc545913a9ea6e81d84fc5ee4d9cc8a185 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Wed, 19 Oct 2022 19:07:56 +0200 Subject: Format: add function `diffExtensions`. --- src/Text/Pandoc/Format.hs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/Text/Pandoc/Format.hs b/src/Text/Pandoc/Format.hs index 5e5829553..afd483577 100644 --- a/src/Text/Pandoc/Format.hs +++ b/src/Text/Pandoc/Format.hs @@ -12,6 +12,7 @@ module Text.Pandoc.Format ( FlavoredFormat (..) , ExtensionsConfig (..) , ExtensionsDiff (..) + , diffExtensions , parseFlavoredFormat , applyExtensionsDiff , getExtensionsConfig @@ -59,6 +60,14 @@ instance Monoid ExtensionsDiff where mempty = ExtensionsDiff mempty mempty mappend = (<>) +-- | Calculate the change set to get from one set of extensions to +-- another. +diffExtensions :: Extensions -> Extensions -> ExtensionsDiff +diffExtensions def actual = ExtensionsDiff + { extsToEnable = actual `disableExtensions` def + , extsToDisable = def `disableExtensions` actual + } + -- | Describes the properties of a format. data ExtensionsConfig = ExtensionsConfig { extsDefault :: Extensions -- ^ Extensions enabled by default -- cgit v1.2.3