aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Parsing.hs
AgeCommit message (Collapse)AuthorFilesLines
2020-10-07Raise informative errors when YAML metadata parsing fails.John MacFarlane1-0/+2
Closes #6730. Previously the command would succeed, returning empty metadata, with no errors or warnings. API changes: - Remove now unused CouldNotParseYamlMetadata constructor for LogMessage (T.P.Logging). - Add 'Maybe FilePath' parameter to yamlToMeta in T.P.Readers.Markdown.
2020-09-21Markdown reader: Set citationNoteNum accurately in citations.John MacFarlane1-2/+2
This also changes stateLastNoteNumber -> stateNoteNumber.
2020-09-21Parsing: add stateInNote and stateLastNoteNumber to ParserState.John MacFarlane1-0/+4
These will be used to populate note numbers for citations.
2020-09-13Fix hlint suggestions, update hlint.yaml (#6680)Christian Despres1-9/+7
* Fix hlint suggestions, update hlint.yaml Most suggestions were redundant brackets. Some required LambdaCase. The .hlint.yaml file had a small typo, and didn't ignore camelCase suggestions in certain modules.
2020-06-23Markdown reader: Don't require blank line after grid table.John MacFarlane1-2/+2
This fixes #6481, allowing grid tables to be enclosed in fenced divs with no intervening blank lines.
2020-04-15Use the new builders, modify readers to preserve empty headersdespresc1-3/+8
The Builder.simpleTable now only adds a row to the TableHead when the given header row is not null. This uncovered an inconsistency in the readers: some would unconditionally emit a header filled with empty cells, even if the header was not present. Now every reader has the conditional behaviour. Only the XWiki writer depended on the header row being always present; it now pads its head as necessary.
2020-04-15Adapt to the newest Table type, fix some previous adaptation issuesdespresc1-2/+2
- Writers.Native is now adapted to the new Table type. - Inline captions should now be conditionally wrapped in a Plain, not a Para block. - The toLegacyTable function now lives in Writers.Shared.
2020-04-15Implement the new Table typedespresc1-1/+5
2020-03-22Finer grained imports of Text.Pandoc.Class submodules (#6203)Albert Krewinkel1-1/+1
This should speed-up recompilation after changes in `Text.Pandoc.Class`, as the number of modules affected by a change will be smaller in general. It also offers faster insights into the parts of `T.P.Class` used within a module.
2020-03-15Use implicit Prelude (#6187)Albert Krewinkel1-2/+0
* Use implicit Prelude The previous behavior was introduced as a fix for #4464. It seems that this change alone did not fix the issue, and `stack ghci` and `cabal repl` only work with GHC 8.4.1 or newer, as no custom Prelude is loaded for these versions. Given this, it seems cleaner to revert to the implicit Prelude. * PandocMonad: remove outdated check for base version Only base versions 4.9 and later are supported, the check for `MIN_VERSION_base(4,8,0)` is therefore unnecessary. * Always use custom prelude Previously, the custom prelude was used only with older GHC versions, as a workaround for problems with ghci. The ghci problems are resolved by replacing package `base` with `base-noprelude`, allowing for consistent use of the custom prelude across all GHC versions.
2020-03-13Update copyright year (#6186)Albert Krewinkel1-1/+1
* Update copyright year * Copyright: add notes for Lua and Jira modules
2020-02-13Add highlight directive to the rST reader (#6140)Lucas Escot1-0/+2
2020-02-07Apply linter suggestions. Add fix_spacing to lint target in Makefile.John MacFarlane1-1/+1
2020-02-07Resolve HLint warningsAlbert Krewinkel1-4/+1
All warnings are either fixed or, if more appropriate, HLint is configured to ignore them. HLint suggestions remain. * Ignore "Use camelCase" warnings in Lua and legacy code * Fix or ignore remaining HLint warnings * Remove redundant brackets * Remove redundant `return`s * Remove redundant as-pattern * Fuse mapM_/map * Use `.` to shorten code * Remove redundant `fmap` * Remove unused LANGUAGE pragmas * Hoist `not` in Text.Pandoc.App * Use fewer imports for `Text.DocTemplates` * Remove redundant `do`s * Remove redundant `$`s * Jira reader: remove unnecessary parentheses
2019-11-14Parsing: Rename takeWhileP -> take1WhileP and clean it up.John MacFarlane1-9/+11
(It doesn't match the empty sequence.)
2019-11-12Switch to new pandoc-types and use Text instead of String [API change].despresc1-150/+226
PR #5884. + Use pandoc-types 1.20 and texmath 0.12. + Text is now used instead of String, with a few exceptions. + In the MediaBag module, some of the types using Strings were switched to use FilePath instead (not Text). + In the Parsing module, new parsers `manyChar`, `many1Char`, `manyTillChar`, `many1TillChar`, `many1Till`, `manyUntil`, `mantyUntilChar` have been added: these are like their unsuffixed counterparts but pack some or all of their output. + `glob` in Text.Pandoc.Class still takes String since it seems to be intended as an interface to Glob, which uses strings. It seems to be used only once in the package, in the EPUB writer, so that is not hard to change.
2019-11-11Fix typos (#5896)Brian Wignall1-1/+1
2019-09-28Use Prelude.fail to avoid ambiguity with fail from GHC.Base.John MacFarlane1-6/+6
2019-08-27Add stateAllowLineBreaks to ParserState. [API change]John MacFarlane1-0/+2
2019-08-26parseFromString': reset stateLastStrPos to Nothing before parse.John MacFarlane1-0/+1
2019-08-26Fix inline parsing in grid table cells.John MacFarlane1-14/+16
* T.P.Parsing: Change type of `setLastStrPos` so it takes a `Maybe SourcePos` rather than a `SourcePos`. [API change] * T.P.Parsing: Make `parseFromString'` and `gridTableWith` and `gridTableWith'` polymorphic in the parser state, constraining it with `HasLastStrPosition`. [API change] Closes #5708.
2019-07-02Fix redundant constraint warnings. (#5625)Pete Ryland1-8/+6
2019-03-01Remove license boilerplate.John MacFarlane1-18/+0
The haddock module header contains essentially the same information, so the boilerplate is redundant and just one more thing to get out of sync.
2019-02-04Add missing copyright notices and remove license boilerplate (#5112)Albert Krewinkel1-2/+2
Quite a few modules were missing copyright notices. This commit adds copyright notices everywhere via haddock module headers. The old license boilerplate comment is redundant with this and has been removed. Update copyright years to 2019. Closes #4592.
2018-12-31Remove unused HasHeaderMap (#5175)Alexander1-16/+1
It is updated by some readers, but never actually used.
2018-12-17Parsing: use safeRead instead of read.John MacFarlane1-1/+1
2018-11-11Text.Pandoc.Shared: add parameter to uniqueIdent, inlineListToIdentifier.John MacFarlane1-1/+1
The parameter is Extensions. This allows these functions to be sensitive to the settings of `Ext_gfm_auto_identifiers` and `Ext_ascii_identifiers`. This allows us to use `uniqueIdent` in the CommonMark reader, replacing some custom code. It also means that `gfm_auto_identifiers` can now be used in all formats. Semantically, `gfm_auto_identifiers` is now a modifier of `auto_identifiers`; for identifiers to be set, `auto_identifiers` must be turned on, and then the type of identifier produced depends on `gfm_auto_identifiers` and `ascii_identifiers` are set. Closes #5057.
2018-11-08Remove Functor and Applicative constraints where Monad already existsAlexander Krotov1-14/+7
2018-11-03Make readWithM accept Text input as well as String (API change)Alexander Krotov1-12/+6
2018-11-02Fix readWithM with Stream.John MacFarlane1-4/+2
2018-11-02T.P.Parsing: Generalize readWithM to any Char Stream.John MacFarlane1-5/+12
[API change]
2018-11-01Remove Monad constraint implied by StreamAlexander Krotov1-6/+6
2018-11-01hlint Parsing.hsAlexander Krotov1-11/+9
2018-11-01Make `uri` accept any stream with Char tokensAlexander Krotov1-1/+1
2018-11-01Rewrite "uri" without "withRaw"Alexander Krotov1-17/+16
2018-10-31Generalize gridTableWith to any streams with Char tokensAlexander Krotov1-16/+18
2018-10-31Generalize parseFromString'Alexander Krotov1-3/+3
2018-10-31Generalize parseFromString to any streams with Char tokenAlexander Krotov1-4/+5
2018-10-29LaTeX reader: allow space at end of math after `\`.John MacFarlane1-1/+1
Closes #5010. Expose trimMath from T.P.Shared.
2018-10-10Pandoc.Parsing: rewrite nonspaceChar using noneOfAlexander Krotov1-1/+1
2018-08-10Avoid incomplete pattern patch.John MacFarlane1-5/+8
2018-08-10Avoid non-exhaustive pattern match.John MacFarlane1-11/+5
2018-07-02Spellcheck commentsAlexander Krotov1-1/+1
2018-05-09Parsing: Lookahead for non-whitespace after single/double quote start.John MacFarlane1-2/+4
Closes #4637.
2018-04-19Parsing.uri: don't treat `*` characters at end as part of URI.John MacFarlane1-1/+1
This fixes #4561, a bug parsing emphasized bare links in RST.
2018-04-09Fix a commentAlexander Krotov1-1/+1
2018-03-21Parsing: Fix romanNumeral parser.John MacFarlane1-3/+3
We previously accepted 'DDC' as 1100. Closes #4480.
2018-03-18Use NoImplicitPrelude and explicitly import Prelude.John MacFarlane1-0/+2
This seems to be necessary if we are to use our custom Prelude with ghci. Closes #4464.
2018-03-16Monoid/Semiground cleanup relying on custom Prelude.John MacFarlane1-9/+0
2018-03-15Remove redundant import.John MacFarlane1-2/+0