FromJSON/ToJSON instances for Reader, WriterOptions.

Depends on skylighting 0.3.5.
This commit is contained in:
John MacFarlane 2017-09-14 22:38:23 -07:00
parent 5849b89e52
commit 64472a468c
5 changed files with 22 additions and 4 deletions

View file

@ -316,7 +316,7 @@ library
tagsoup >= 0.13.7 && < 0.15, tagsoup >= 0.13.7 && < 0.15,
base64-bytestring >= 0.1 && < 1.1, base64-bytestring >= 0.1 && < 1.1,
zlib >= 0.5 && < 0.7, zlib >= 0.5 && < 0.7,
skylighting >= 0.3.4.1 && < 0.4, skylighting >= 0.3.5 && < 0.4,
data-default >= 0.4 && < 0.8, data-default >= 0.4 && < 0.8,
temporary >= 1.1 && < 1.3, temporary >= 1.1 && < 1.3,
blaze-html >= 0.5 && < 0.10, blaze-html >= 0.5 && < 0.10,
@ -553,7 +553,7 @@ test-suite test-pandoc
filepath >= 1.1 && < 1.5, filepath >= 1.1 && < 1.5,
hslua >= 0.8 && < 0.9, hslua >= 0.8 && < 0.9,
process >= 1.2.3 && < 1.7, process >= 1.2.3 && < 1.7,
skylighting >= 0.3.4.1 && < 0.4, skylighting >= 0.3.5 && < 0.4,
temporary >= 1.1 && < 1.3, temporary >= 1.1 && < 1.3,
Diff >= 0.2 && < 0.4, Diff >= 0.2 && < 0.4,
tasty >= 0.11 && < 0.12, tasty >= 0.11 && < 0.12,

View file

@ -51,10 +51,16 @@ import Data.Typeable (Typeable)
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Text.Pandoc.Shared (safeRead) import Text.Pandoc.Shared (safeRead)
import Text.Parsec import Text.Parsec
import Data.Aeson (ToJSON(..), FromJSON(..),
genericToEncoding, defaultOptions)
newtype Extensions = Extensions Integer newtype Extensions = Extensions Integer
deriving (Show, Read, Eq, Ord, Data, Typeable, Generic) deriving (Show, Read, Eq, Ord, Data, Typeable, Generic)
instance ToJSON Extensions where
toEncoding = genericToEncoding defaultOptions
instance FromJSON Extensions
instance Monoid Extensions where instance Monoid Extensions where
mempty = Extensions 0 mempty = Extensions 0
mappend (Extensions a) (Extensions b) = Extensions (a .|. b) mappend (Extensions a) (Extensions b) = Extensions (a .|. b)
@ -148,6 +154,10 @@ data Extension =
| Ext_spaced_reference_links -- ^ Allow space between two parts of ref link | Ext_spaced_reference_links -- ^ Allow space between two parts of ref link
deriving (Show, Read, Enum, Eq, Ord, Bounded, Data, Typeable, Generic) deriving (Show, Read, Enum, Eq, Ord, Bounded, Data, Typeable, Generic)
instance ToJSON Extension where
toEncoding = genericToEncoding defaultOptions
instance FromJSON Extension
-- | Extensions to be used with pandoc-flavored markdown. -- | Extensions to be used with pandoc-flavored markdown.
pandocExtensions :: Extensions pandocExtensions :: Extensions
pandocExtensions = extensionsFromList pandocExtensions = extensionsFromList

View file

@ -68,6 +68,10 @@ data ReaderOptions = ReaderOptions{
, readerTrackChanges :: TrackChanges , readerTrackChanges :: TrackChanges
} deriving (Show, Read, Data, Typeable, Generic) } deriving (Show, Read, Data, Typeable, Generic)
instance ToJSON ReaderOptions where
toEncoding = genericToEncoding defaultOptions
instance FromJSON ReaderOptions
instance Default ReaderOptions instance Default ReaderOptions
where def = ReaderOptions{ where def = ReaderOptions{
readerExtensions = emptyExtensions readerExtensions = emptyExtensions
@ -221,6 +225,10 @@ data WriterOptions = WriterOptions
, writerSyntaxMap :: SyntaxMap , writerSyntaxMap :: SyntaxMap
} deriving (Show, Data, Typeable, Generic) } deriving (Show, Data, Typeable, Generic)
instance ToJSON WriterOptions where
toEncoding = genericToEncoding defaultOptions
instance FromJSON WriterOptions
instance Default WriterOptions where instance Default WriterOptions where
def = WriterOptions { writerTemplate = Nothing def = WriterOptions { writerTemplate = Nothing
, writerVariables = [] , writerVariables = []

View file

@ -19,7 +19,7 @@ packages:
extra-deps: extra-deps:
- texmath-0.9.4.2 - texmath-0.9.4.2
- hslua-0.8.0 - hslua-0.8.0
- skylighting-0.3.4.1 - skylighting-0.3.5
- cmark-gfm-0.1.1 - cmark-gfm-0.1.1
- QuickCheck-2.10.0.1 - QuickCheck-2.10.0.1
- tasty-quickcheck-0.9.1 - tasty-quickcheck-0.9.1

View file

@ -9,7 +9,7 @@ packages:
extra-deps: extra-deps:
- texmath-0.9.4.2 - texmath-0.9.4.2
- hslua-0.8.0 - hslua-0.8.0
- skylighting-0.3.4.1 - skylighting-0.3.5
- cmark-gfm-0.1.1 - cmark-gfm-0.1.1
- QuickCheck-2.10.0.1 - QuickCheck-2.10.0.1
- tasty-quickcheck-0.9.1 - tasty-quickcheck-0.9.1