summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Error.hs
AgeCommit message (Collapse)Author
2018-01-05Update copyright notices to include 2018Albert Krewinkel
2017-10-27Don't rely on syb when we don't need to.John MacFarlane
2017-10-27Automatic reformating by stylish-haskell.John MacFarlane
2017-10-21In rendering PandocParsecError, only print input at error location...John MacFarlane
if the source name is `source` (i.e., the top level). Otherwise results will be misleading, since what readM does is to look up the source position of the error in the *original* input, which may not match the input used by parseFromString or in parsing from an included file. Closes #3865. Not a great fix, maybe there's something better that could be done, but this should at least avoid misleading messages.
2017-09-11Support for PDF generation via `weasyprint` and `prince` (#3909)Mauro Bieg
* Rename --latex-engine to --pdf-engine * In `Text.Pandoc.Options.WriterOptions`, rename `writerLaTeXEngine` to `writerPdfEngine` and `writerLaTeXArgs` to `writerPdfArgs`. * Add support for `weasyprint` and `prince`, in addition to `wkhtmltopdf`, for PDF generation via HTML (closes #3906). * `Text.Pandoc.PDF.html2pdf`: use stdin instead of intermediate HTML file
2017-07-07Rewrote LaTeX reader with proper tokenization.John MacFarlane
This rewrite is primarily motivated by the need to get macros working properly. A side benefit is that the reader is significantly faster (27s -> 19s in one benchmark, and there is a lot of room for further optimization). We now tokenize the input text, then parse the token stream. Macros modify the token stream, so they should now be effective in any context, including math. Thus, we no longer need the clunky macro processing capacities of texmath. A custom state LaTeXState is used instead of ParserState. This, plus the tokenization, will require some rewriting of the exported functions rawLaTeXInline, inlineCommand, rawLaTeXBlock. * Added Text.Pandoc.Readers.LaTeX.Types (new exported module). Exports Macro, Tok, TokType, Line, Column. [API change] * Text.Pandoc.Parsing: adjusted type of `insertIncludedFile` so it can be used with token parser. * Removed old texmath macro stuff from Parsing. Use Macro from Text.Pandoc.Readers.LaTeX.Types instead. * Removed texmath macro material from Markdown reader. * Changed types for Text.Pandoc.Readers.LaTeX's rawLaTeXInline and rawLaTeXBlock. (Both now return a String, and they are polymorphic in state.) * Added orgMacros field to OrgState. [API change] * Removed readerApplyMacros from ReaderOptions. Now we just check the `latex_macros` reader extension. * Allow `\newcommand\foo{blah}` without braces. Fixes #1390. Fixes #2118. Fixes #3236. Fixes #3779. Fixes #934. Fixes #982.
2017-06-22Added `writerEpubSubdirectory` to `WriterOptions`.John MacFarlane
[API change] The EPUB writer now takes its EPUB subdirectory from this option. Also added `PandocEpubSubdirectoryError` to `PandocError`. This is raised if the EPUB subdirectory is not all ASCII alphanumerics. See #3720.
2017-06-20Text.Pandoc.Error: added PandocTemplateError.John MacFarlane
2017-06-02hlint suggestions.John MacFarlane
2017-05-13Update dates in copyright noticesAlbert Krewinkel
This follows the suggestions given by the FSF for GPL licensed software. <https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
2017-05-07Added PandocHttpException, trap exceptions in fetching from URLs.John MacFarlane
Closes #3646.
2017-05-02Added PandocResourceNotFound error.John MacFarlane
Use this instead of PandocIOError when a resource is not found in path. This improves the error message in this case, see #3629.
2017-04-15Error: Added PandocCouldNotFindDataFileError.John MacFarlane
Use this instead of PandocAppError when appropriate. Removed exit code from PandocAppError, use 1 for all.
2017-04-15Fixed shadowing warningsJohn MacFarlane
2017-04-15Error: Added PandocFilterError.John MacFarlane
2017-04-15Error: Added PandocPDFErrorJohn MacFarlane
2017-04-15Text.Pandoc.Error: added new constructors.John MacFarlane
- PandocSyntaxMapError String - PandocFailOnWarningError - PandocPDFProgramNotFoundError String
2017-04-04Error: Added PandocOptionError.John MacFarlane
2017-04-02Text.Pandoc.App: Throw errors rather than exiting.John MacFarlane
These are caught (and lead to exit) in pandoc.hs, but other uses of Text.Pandoc.App may want to recover in another way. Added PandocAppError to PandocError (API change). This is a stopgap: later we should have a separate constructor for each type of error. Also fixed uses of 'exit' in Shared.readDataFile, and removed 'err' from Shared (API change). Finally, removed the dependency on extensible-exceptions. See #3548.
2017-03-04Stylish-haskell automatic formatting changes.John MacFarlane
2017-02-23Removed unnecessary import.John MacFarlane
2017-02-23Fix compiler warning for older GHC versions.John MacFarlane
2017-02-23Error: Changed PandocFileReadError to PandocIOErrorJohn MacFarlane
2017-02-19Error: added PandocMakePDFErrorJohn MacFarlane
2017-02-10Added Text.Pandoc.Logging (exported module).John MacFarlane
This now contains the Verbosity definition previously in Options, as well as a new LogMessage datatype that will eventually be used instead of raw strings for warnings. This will enable us, among other things, to provide machine-readable warnings if desired. See #3392.
2017-01-25Generic instance for PandocError.John MacFarlane
2017-01-25Error: change type of handleError.John MacFarlane
It now lives in IO and gives a proper message + exit instead of calling 'error'. We shouldn't be making it easier for people to raise error on pure code. And this is better for the main application in IO.
2017-01-25Unify Errors.Jesse Rosenthal
2016-09-02Remove Text.Pandoc.Compat.ExceptJesse Rosenthal
2016-08-06Fix out of index error in handleErrorMatthew Pickering
In the latex parser when includes are processed, the text of the included file is directly included into the parse stream. This caused problems when there was an error in the included file (and the included file was longer than the original file) as the error would be reported at this position. The error handling tries to display the line and position where the error occured. It works by including a copy of the input and finding the place in the input when given the position of the error. In the previously described scenario, the input file would be the original source file but the error position would be the position of the error in the included file. The fix is to not try to show the exact line when it would cause an out-of-bounds error.
2016-03-22Updated copyright dates to include 2016.John MacFarlane
2015-11-09Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."John MacFarlane
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
2015-11-08Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane
This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
2015-10-11Removed unnecessary import.John MacFarlane
2015-10-11Define Typeable and Exception instances for PandocError.John MacFarlane
Closes #2386.
2015-02-18Move utility error functions to Text.Pandoc.SharedMatthew Pickering
2015-02-18Update haddocks and copyright noticesMatthew Pickering
2015-02-18Add Text.Pandoc.Error module with PandocError typeMatthew Pickering