aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Logging.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Logging.hs')
-rw-r--r--src/Text/Pandoc/Logging.hs32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Logging.hs b/src/Text/Pandoc/Logging.hs
index da8c775f6..1dcff7470 100644
--- a/src/Text/Pandoc/Logging.hs
+++ b/src/Text/Pandoc/Logging.hs
@@ -52,7 +52,7 @@ import Text.Pandoc.Definition
import Text.Parsec.Pos
-- | Verbosity level.
-data Verbosity = ERROR | WARNING | INFO | DEBUG
+data Verbosity = ERROR | WARNING | INFO
deriving (Show, Read, Eq, Data, Enum, Ord, Bounded, Typeable, Generic)
instance ToJSON Verbosity where
@@ -63,7 +63,6 @@ instance FromJSON Verbosity where
"ERROR" -> return ERROR
"WARNING" -> return WARNING
"INFO" -> return INFO
- "DEBUG" -> return DEBUG
_ -> mzero
parseJSON _ = mzero
@@ -78,7 +77,7 @@ data LogMessage =
| CircularReference String SourcePos
| ParsingUnescaped String SourcePos
| CouldNotLoadIncludeFile String SourcePos
- | ParsingTrace String SourcePos
+ | MacroAlreadyDefined String SourcePos
| InlineNotRendered Inline
| BlockNotRendered Block
| DocxParserWarning String
@@ -92,7 +91,9 @@ data LogMessage =
| Extracting String
| NoTitleElement String
| NoLangSpecified
+ | InvalidLang String
| CouldNotHighlight String
+ | MissingCharacter String
deriving (Show, Eq, Data, Ord, Typeable, Generic)
instance ToJSON LogMessage where
@@ -150,11 +151,11 @@ instance ToJSON LogMessage where
"source" .= Text.pack (sourceName pos),
"line" .= toJSON (sourceLine pos),
"column" .= toJSON (sourceColumn pos)]
- ParsingTrace s pos ->
- ["contents" .= Text.pack s,
+ MacroAlreadyDefined name pos ->
+ ["name" .= Text.pack name,
"source" .= Text.pack (sourceName pos),
- "line" .= sourceLine pos,
- "column" .= sourceColumn pos]
+ "line" .= toJSON (sourceLine pos),
+ "column" .= toJSON (sourceColumn pos)]
InlineNotRendered il ->
["contents" .= toJSON il]
BlockNotRendered bl ->
@@ -184,8 +185,12 @@ instance ToJSON LogMessage where
NoTitleElement fallback ->
["fallback" .= Text.pack fallback]
NoLangSpecified -> []
+ InvalidLang s ->
+ ["lang" .= Text.pack s]
CouldNotHighlight msg ->
["message" .= Text.pack msg]
+ MissingCharacter msg ->
+ ["message" .= Text.pack msg]
showPos :: SourcePos -> String
showPos pos = sn ++ "line " ++
@@ -225,8 +230,8 @@ showLogMessage msg =
"Parsing unescaped '" ++ s ++ "' at " ++ showPos pos
CouldNotLoadIncludeFile fp pos ->
"Could not load include file '" ++ fp ++ "' at " ++ showPos pos
- ParsingTrace s pos ->
- "Parsing trace at " ++ showPos pos ++ ": " ++ s
+ MacroAlreadyDefined name pos ->
+ "Macro '" ++ name ++ "' already defined, ignoring at " ++ showPos pos
InlineNotRendered il ->
"Not rendering " ++ show il
BlockNotRendered bl ->
@@ -260,8 +265,13 @@ showLogMessage msg =
NoLangSpecified ->
"No value for 'lang' was specified in the metadata.\n" ++
"It is recommended that lang be specified for this format."
+ InvalidLang s ->
+ "Invalid 'lang' value '" ++ s ++ "'.\n" ++
+ "Use an IETF language tag like 'en-US'."
CouldNotHighlight m ->
"Could not highlight code block:\n" ++ m
+ MissingCharacter m ->
+ "Missing character: " ++ m
messageVerbosity:: LogMessage -> Verbosity
messageVerbosity msg =
@@ -275,8 +285,8 @@ messageVerbosity msg =
ReferenceNotFound{} -> WARNING
CircularReference{} -> WARNING
CouldNotLoadIncludeFile{} -> WARNING
+ MacroAlreadyDefined{} -> WARNING
ParsingUnescaped{} -> INFO
- ParsingTrace{} -> DEBUG
InlineNotRendered{} -> INFO
BlockNotRendered{} -> INFO
DocxParserWarning{} -> WARNING
@@ -290,4 +300,6 @@ messageVerbosity msg =
Extracting{} -> INFO
NoTitleElement{} -> WARNING
NoLangSpecified -> INFO
+ InvalidLang{} -> WARNING
CouldNotHighlight{} -> WARNING
+ MissingCharacter{} -> WARNING