aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2022-10-13 23:35:02 -0700
committerJohn MacFarlane <[email protected]>2022-10-13 23:36:25 -0700
commitcc8ed74c2529debd15bfa2e0645662b5523ee12d (patch)
tree1384db9efe369d48cd6c4c4f6d70f54083c9696d /src
parent64fe7b1e2f7e7844310cbb04c5bc9bc188e4a859 (diff)
FlavoredFormat: add Show, Semigroup, Monad instances
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Format.hs14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Format.hs b/src/Text/Pandoc/Format.hs
index ae2407bc2..3fa044d05 100644
--- a/src/Text/Pandoc/Format.hs
+++ b/src/Text/Pandoc/Format.hs
@@ -40,20 +40,28 @@ import qualified Data.Text as T
data FlavoredFormat = FlavoredFormat
{ formatName :: T.Text
, formatExtsDiff :: ExtensionsDiff
- }
+ } deriving (Show)
-- | Changes to a set of extensions, i.e., list of extensions to be
-- enabled or disabled.
data ExtensionsDiff = ExtensionsDiff
{ extsToEnable :: [Extension]
, extsToDisable :: [Extension]
- }
+ } deriving (Show)
+
+instance Semigroup ExtensionsDiff where
+ ExtensionsDiff x1 y1 <> ExtensionsDiff x2 y2 =
+ ExtensionsDiff (x1 <> x2) (y1 <> y2)
+
+instance Monoid ExtensionsDiff where
+ mappend = (<>)
+ mempty = ExtensionsDiff [] []
-- | Describes the properties of a format.
data ExtensionsConfig = ExtensionsConfig
{ extsDefault :: Extensions -- ^ Extensions enabled by default
, extsSupported :: Extensions -- ^ Extensions that can be enabled or disabled.
- }
+ } deriving (Show)
-- | Returns the extensions configuration of a format.
getExtensionsConfig :: T.Text -> ExtensionsConfig