@@ -805,13 +805,13 @@ lookupHighlightStyle (Just s)
805 | takeExtension s == ".theme" = -- attempt to load KDE theme
805 | takeExtension s == ".theme" = -- attempt to load KDE theme
806 do contents <- B.readFile s
806 do contents <- B.readFile s
807 case parseTheme contents of
807 case parseTheme contents of
808− Left _ -> E.throwIO $ PandocAppError 69 $
808+ Left _ -> E.throwIO $ PandocOptionError $
809 "Could not read highlighting theme " ++ s
809 "Could not read highlighting theme " ++ s
810 Right sty -> return (Just sty)
810 Right sty -> return (Just sty)
811 | otherwise =
811 | otherwise =
812 case lookup (map toLower s) highlightingStyles of
812 case lookup (map toLower s) highlightingStyles of
813 Just sty -> return (Just sty)
813 Just sty -> return (Just sty)
814− Nothing -> E.throwIO $ PandocAppError 68 $
814+ Nothing -> E.throwIO $ PandocOptionError $
815 "Unknown highlight-style " ++ s
815 "Unknown highlight-style " ++ s
817-- | A list of functions, each transforming the options data structure
817-- | A list of functions, each transforming the options data structure
@@ -848,7 +848,7 @@ options =
848 case safeRead arg of
848 case safeRead arg of
849 Just t | t > 0 && t < 6 ->
849 Just t | t > 0 && t < 6 ->
850 return opt{ optBaseHeaderLevel = t }
850 return opt{ optBaseHeaderLevel = t }
851− _ -> E.throwIO $ PandocAppError 19
851+ _ -> E.throwIO $ PandocOptionError
852 "base-header-level must be 1-5")
852 "base-header-level must be 1-5")
853 "NUMBER")
853 "NUMBER")
854 "" -- "Headers base level"
854 "" -- "Headers base level"
@@ -882,7 +882,7 @@ options =
882 (\arg opt ->
882 (\arg opt ->
883 case safeRead arg of
883 case safeRead arg of
884 Just t | t > 0 -> return opt { optTabStop = t }
884 Just t | t > 0 -> return opt { optTabStop = t }
885− _ -> E.throwIO $ PandocAppError 31
885+ _ -> E.throwIO $ PandocOptionError
886 "tab-stop must be a number greater than 0")
886 "tab-stop must be a number greater than 0")
887 "NUMBER")
887 "NUMBER")
888 "" -- "Tab stop (default 4)"
888 "" -- "Tab stop (default 4)"
@@ -894,7 +894,7 @@ options =
894 "accept" -> return AcceptChanges
894 "accept" -> return AcceptChanges
895 "reject" -> return RejectChanges
895 "reject" -> return RejectChanges
896 "all" -> return AllChanges
896 "all" -> return AllChanges
897− _ -> E.throwIO $ PandocAppError 6
897+ _ -> E.throwIO $ PandocOptionError
898 ("Unknown option for track-changes: " ++ arg)
898 ("Unknown option for track-changes: " ++ arg)
899 return opt { optTrackChanges = action })
899 return opt { optTrackChanges = action })
900 "accept|reject|all")
900 "accept|reject|all")
@@ -965,7 +965,7 @@ options =
965 (\arg opt ->
965 (\arg opt ->
966 case safeRead arg of
966 case safeRead arg of
967 Just t | t > 0 -> return opt { optDpi = t }
967 Just t | t > 0 -> return opt { optDpi = t }
968− _ -> E.throwIO $ PandocAppError 31
968+ _ -> E.throwIO $ PandocOptionError
969 "dpi must be a number greater than 0")
969 "dpi must be a number greater than 0")
970 "NUMBER")
970 "NUMBER")
971 "" -- "Dpi (default 96)"
971 "" -- "Dpi (default 96)"
@@ -975,7 +975,7 @@ options =
975 (\arg opt ->
975 (\arg opt ->
976 case safeRead ("Wrap" ++ uppercaseFirstLetter arg) of
976 case safeRead ("Wrap" ++ uppercaseFirstLetter arg) of
977 Just o -> return opt { optWrapText = o }
977 Just o -> return opt { optWrapText = o }
978− Nothing -> E.throwIO $ PandocAppError 77
978+ Nothing -> E.throwIO $ PandocOptionError
979 "--wrap must be auto, none, or preserve")
979 "--wrap must be auto, none, or preserve")
980 "auto|none|preserve")
980 "auto|none|preserve")
981 "" -- "Option for wrapping text in output"
981 "" -- "Option for wrapping text in output"
@@ -985,7 +985,7 @@ options =
985 (\arg opt ->
985 (\arg opt ->
986 case safeRead arg of
986 case safeRead arg of
987 Just t | t > 0 -> return opt { optColumns = t }
987 Just t | t > 0 -> return opt { optColumns = t }
988− _ -> E.throwIO $ PandocAppError 33
988+ _ -> E.throwIO $ PandocOptionError
989 "columns must be a number greater than 0")
989 "columns must be a number greater than 0")
990 "NUMBER")
990 "NUMBER")
991 "" -- "Length of line in characters"
991 "" -- "Length of line in characters"
@@ -1001,7 +1001,7 @@ options =
1001 case safeRead arg of
1001 case safeRead arg of
1002 Just t | t >= 1 && t <= 6 ->
1002 Just t | t >= 1 && t <= 6 ->
1003 return opt { optTOCDepth = t }
1003 return opt { optTOCDepth = t }
1004− _ -> E.throwIO $ PandocAppError 57
1004+ _ -> E.throwIO $ PandocOptionError
1005 "TOC level must be a number between 1 and 6")
1005 "TOC level must be a number between 1 and 6")
1006 "NUMBER")
1006 "NUMBER")
1007 "" -- "Number of levels to include in TOC"
1007 "" -- "Number of levels to include in TOC"
@@ -1077,7 +1077,7 @@ options =
1077 "block" -> return EndOfBlock
1077 "block" -> return EndOfBlock
1078 "section" -> return EndOfSection
1078 "section" -> return EndOfSection
1079 "document" -> return EndOfDocument
1079 "document" -> return EndOfDocument
1080− _ -> E.throwIO $ PandocAppError 6
1080+ _ -> E.throwIO $ PandocOptionError
1081 ("Unknown option for reference-location: " ++ arg)
1081 ("Unknown option for reference-location: " ++ arg)
1082 return opt { optReferenceLocation = action })
1082 return opt { optReferenceLocation = action })
1083 "block|section|document")
1083 "block|section|document")
@@ -1094,7 +1094,7 @@ options =
1094 let tldName = "TopLevel" ++ uppercaseFirstLetter arg
1094 let tldName = "TopLevel" ++ uppercaseFirstLetter arg
1095 case safeRead tldName of
1095 case safeRead tldName of
1096 Just tlDiv -> return opt { optTopLevelDivision = tlDiv }
1096 Just tlDiv -> return opt { optTopLevelDivision = tlDiv }
1097− _ -> E.throwIO $ PandocAppError 76
1097+ _ -> E.throwIO $ PandocOptionError
1098 ("Top-level division must be " ++
1098 ("Top-level division must be " ++
1099 "section, chapter, part, or default"))
1099 "section, chapter, part, or default"))
1100 "section|chapter|part")
1100 "section|chapter|part")
@@ -1111,7 +1111,7 @@ options =
1111 case safeRead ('[':arg ++ "]") of
1111 case safeRead ('[':arg ++ "]") of
1112 Just ns -> return opt { optNumberOffset = ns,
1112 Just ns -> return opt { optNumberOffset = ns,
1113 optNumberSections = True }
1113 optNumberSections = True }
1114− _ -> E.throwIO $ PandocAppError 57
1114+ _ -> E.throwIO $ PandocOptionError
1115 "could not parse number-offset")
1115 "could not parse number-offset")
1116 "NUMBERS")
1116 "NUMBERS")
1117 "" -- "Starting number for sections, subsections, etc."
1117 "" -- "Starting number for sections, subsections, etc."
@@ -1132,7 +1132,7 @@ options =
1132 case safeRead arg of
1132 case safeRead arg of
1133 Just t | t >= 1 && t <= 6 ->
1133 Just t | t >= 1 && t <= 6 ->
1134 return opt { optSlideLevel = Just t }
1134 return opt { optSlideLevel = Just t }
1135− _ -> E.throwIO $ PandocAppError 39
1135+ _ -> E.throwIO $ PandocOptionError
1136 "slide level must be a number between 1 and 6")
1136 "slide level must be a number between 1 and 6")
1137 "NUMBER")
1137 "NUMBER")
1138 "" -- "Force header level for slides"
1138 "" -- "Force header level for slides"
@@ -1155,7 +1155,7 @@ options =
1155 "references" -> return ReferenceObfuscation
1155 "references" -> return ReferenceObfuscation
1156 "javascript" -> return JavascriptObfuscation
1156 "javascript" -> return JavascriptObfuscation
1157 "none" -> return NoObfuscation
1157 "none" -> return NoObfuscation
1158− _ -> E.throwIO $ PandocAppError 6
1158+ _ -> E.throwIO $ PandocOptionError
1159 ("Unknown obfuscation method: " ++ arg)
1159 ("Unknown obfuscation method: " ++ arg)
1160 return opt { optEmailObfuscation = method })
1160 return opt { optEmailObfuscation = method })
1161 "none|javascript|references")
1161 "none|javascript|references")
@@ -1217,7 +1217,7 @@ options =
1217 case safeRead arg of
1217 case safeRead arg of
1218 Just t | t >= 1 && t <= 6 ->
1218 Just t | t >= 1 && t <= 6 ->
1219 return opt { optEpubChapterLevel = t }
1219 return opt { optEpubChapterLevel = t }
1220− _ -> E.throwIO $ PandocAppError 59
1220+ _ -> E.throwIO $ PandocOptionError
1221 "chapter level must be a number between 1 and 6")
1221 "chapter level must be a number between 1 and 6")
1222 "NUMBER")
1222 "NUMBER")
1223 "" -- "Header level at which to split chapters in EPUB"
1223 "" -- "Header level at which to split chapters in EPUB"
@@ -1228,7 +1228,7 @@ options =
1228 let b = takeBaseName arg
1228 let b = takeBaseName arg
1229 if b `elem` ["pdflatex", "lualatex", "xelatex"]
1229 if b `elem` ["pdflatex", "lualatex", "xelatex"]
1230 then return opt { optLaTeXEngine = arg }
1230 then return opt { optLaTeXEngine = arg }
1231− else E.throwIO $ PandocAppError 45 "latex-engine must be pdflatex, lualatex, or xelatex.")
1231+ else E.throwIO $ PandocOptionError "latex-engine must be pdflatex, lualatex, or xelatex.")
1232 "PROGRAM")
1232 "PROGRAM")
1233 "" -- "Name of latex program to use in generating PDF"
1233 "" -- "Name of latex program to use in generating PDF"