aboutsummaryrefslogtreecommitdiff
path: root/haddock-library/src/Documentation/Haddock/Parser/Monad.hs
Commit message (Collapse)AuthorAgeFilesLines
* Fix build-failure regression for base < 4.7Herbert Valerio Riedel2019-12-081-1/+2
| | | | | | | | | | | | | The `$>` operator definition is available only since base-4.7 which unfortunately wasn't caught before release to Hackage (but has been fixed up by a metadata-revision) This commit introduces a `CompatPrelude` module which allows to reduce the amount of CPP by ousting it to a central location, i.e. the new `CompatPrelude` module. This pattern also tends to reduce the tricks needed to silence unused import warnings. Addresses #1119
* Better identifier parsingAlec Theriault2019-02-251-1/+12
| | | | | | | | | | | | | | | | * '(<|>)' and '`elem`' now get parsed and rendered properly as links * 'DbModule'/'DbUnitId' now properly get split apart into two links * tuple names now get parsed properly * some more small niceties... The identifier parsing code is more precise and more efficient (although to be fair: it is also longer and in its own module). On the rendering side, we need to pipe through information about backticks/parens/neither all the way through from renaming to the backends. In terms of impact: a total of 35 modules in the entirety of the bootlib + ghc lib docs change. The only "regression" is things like '\0'. These should be changed to @\\0@ (the path by which this previously worked seems accidental).
* Faster 'Text' driven parser combinatorsAlec Theriault2018-11-051-20/+66
| | | | | | | | Perf only change: * use 'getParserState'/'setParserState' to make 'Text'-optimized parser combinators * minimize uses of 'Data.Text.{pack,unpack,cons,snoc}'
* Build on 7.4 and 7.8Alec Theriault2018-10-161-1/+2
|
* Replace 'attoparsec' with 'parsec' (#799)Alec Theriault2018-04-251-152/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove attoparsec with parsec and start fixing failed parses * Make tests pass * Fix encoding issues The Haddock parser no longer needs to worry about bytestrings. All the internal parsing work in haddock-library happens over 'Text'. * Remove attoparsec vendor * Fix stuff broken in 'attoparsec' -> 'parsec' * hyperlinks * codeblocks * examples Pretty much all issues are due to attoparsec's backtracking failure behaviour vs. parsec's non-backtracking failure behaviour. * Fix small TODOs * Missing quote + Haddocks * Better handle spaces before/after paragraphs * Address review comments
* Remove bang patternAlec Theriault2018-03-021-3/+3
|
* Support unicode operators, proper modulesAlec Theriault2018-03-021-2/+23
| | | | | | | | Unicode operators are a pretty big thing in Haskell, so supporting linking them seems like it outweighs the cost of the extra machinery to force Attoparsec to look for unicode. Fixes #458.
* Make parser state a newtypeDavid Feuer2016-05-241-1/+1
| | | | | | Previously, it was `data` wrapping a `Maybe`, which seems a bit silly. Obviously, this can be changed back if anyone wants to add more fields some day.
* (wip) Add support for @since (closes #26)Simon Hengel2014-11-161-6/+27
|
* newtype-wrap parser monadSimon Hengel2014-11-081-0/+128