diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-05-21 11:42:50 +0200 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-05-21 11:42:50 +0200 |
commit | aa1e39858dd0ad25fd5e0cf0e2e19182bd4f157b (patch) | |
tree | b38c12c7bf7e78117308523fa1fcf33bd9995b0b /src/Text/Pandoc/Logging.hs | |
parent | 8c1b81bbef7125a9a2fde9d6894578f06bf4cedd (diff) | |
download | pandoc-aa1e39858dd0ad25fd5e0cf0e2e19182bd4f157b.tar.gz |
Text.Pandoc.App: ToJSON and FromJSON instances for Opts.
This can be used e.g. to pass options via web interface,
such as trypandoc.
Diffstat (limited to 'src/Text/Pandoc/Logging.hs')
-rw-r--r-- | src/Text/Pandoc/Logging.hs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Logging.hs b/src/Text/Pandoc/Logging.hs index 2cca4b7d3..bf7f33d29 100644 --- a/src/Text/Pandoc/Logging.hs +++ b/src/Text/Pandoc/Logging.hs @@ -39,6 +39,7 @@ module Text.Pandoc.Logging ( , messageVerbosity ) where +import Control.Monad (mzero) import Data.Aeson import Data.Aeson.Encode.Pretty (Config (..), defConfig, encodePretty', keyOrder) @@ -56,6 +57,15 @@ data Verbosity = ERROR | WARNING | INFO | DEBUG instance ToJSON Verbosity where toJSON x = toJSON (show x) +instance FromJSON Verbosity where + parseJSON (String t) = + case t of + "ERROR" -> return ERROR + "WARNING" -> return WARNING + "INFO" -> return INFO + "DEBUG" -> return DEBUG + _ -> mzero + parseJSON _ = mzero data LogMessage = SkippedContent String SourcePos |