| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* '(<|>)' 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).
|
|
|
|
|
|
|
|
|
|
|
| |
Identifier links can be prefixed with a 'v' or 't' to indicate the value or
type namespace of the desired identifier. For example:
-- | Some link to a value: v'Data.Functor.Identity'
--
-- Some link to a type: t'Data.Functor.Identity'
The default is still the type (with a warning about the ambiguity)
|
|
|
|
|
|
|
| |
* remove redundant imports (only brought to light due to recent work for
improving redundant import detection)
* fix a bug that was casuing exports to appear in reverse order
* fix something in haddock-library that prevented compilation on old GHC's
|
| |
|
|
|
|
|
|
|
| |
Inline markup is supported in image links but, as per the [commonmark
recommendation][0], it is stripped back to a plain text representation.
[0]: https://spec.commonmark.org/0.28/#example-547
|
|
|
|
| |
The parser for pictures hasn't been properly adjusted yet.
|
|
|
|
|
|
|
|
| |
Perf only change:
* use 'getParserState'/'setParserState' to make 'Text'-optimized
parser combinators
* minimize uses of 'Data.Text.{pack,unpack,cons,snoc}'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Metadoc stores a package name
This means that '@since' annotations can be package aware.
* Get the package name the right way
This should extract the package name for `@since` annotations the
right way. I had to move `modulePackageInfo` around to do this and,
in the process, I took the liberty to update it.
Since it appears that finding the package name is something that can
fail, I added a warning for this case.
* Silence warnings
* Hide package for local 'since' annotations
As discussed, this is still the usual case (and we should avoid being
noisy for it).
Although this commit is large, it is basically only about threading a
'Maybe Package' from 'Haddock.render' all the way to
'Haddock.Backends.Xhtml.DocMarkup.renderMeta'.
* Bump binary interface version
* Add a '--since-qual' option
This controls when to qualify since annotations with the package they
come from. The default is always, but I've left an 'external' variant
where only those annotations coming from outside of the current
package are qualified.
* Make ParserSpec work
* Make Fixtures work
* Use package name even if package version is not available
The @since stuff needs only the package name passed in, so it
makes sense to not be forced to pass in a version too.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add table examples
* Add table types and adopt simple parser
Simple parser is done by Giovanni Cappellotto (@potomak)
in https://github.com/haskell/haddock/pull/577
It seems to support single fine full tables, so far from full
RST-grid tables, but it's good start.
Table type support row- and colspans, but obviously parser is lacking.
Still TODO:
- Latex backend. Should we use multirow package
https://ctan.org/pkg/multirow?lang=en?
- Hoogle backend: ?
* Implement grid-tables
* Refactor table parser
* Add two ill-examples
* Update CHANGES.md
* Basic documentation for tables
* Fix documentation example
|
| |
|
| |
|
|
|
| |
This fixes #546.
|
| |
|
|
|
| |
These allow attoparsec to do some clever lookup optimization
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change notation and add support for inline math.
Allow newlines in display math.
Add a command line option for the mathjax url (you might want to use a
locally installed version).
Rebase tests because of extra url and version change.
Respond to (some of the) comments.
Fix warnings in InterfaceFile.hs
|
| |
|
| |
|
| |
|
|
|
|
|
| |
On Windows this was causing newline to be rendered twice in code blocks.
Closes #359, fixes #356.
|
|
|
|
|
|
|
|
| |
GHC fails type-inference with `OverloadedStrings` + `Data.Foldable.elem`
otherwise.
Conflicts:
haddock-library/src/Documentation/Haddock/Parser.hs
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we only use it only for ‘since’ annotations but with these
patches it should be fairly simple to add new attributes if we wish to.
Closes #26. It seems to work fine but due to 7.10 rush I don't have the
chance to do more exhaustive testing right now. The way the meta is
output (emphasis at the end of the whole comment) is fairly arbitrary
and subject to bikeshedding.
Note that this makes test for Bug310 fail due to interface version bump:
it can't find the docs for base with this interface version so it fails.
There is not much we can do to help this because it tests for ’built-in’
identifier, not something we can provide ourselves.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is to disambiguate them from markdown links and will be require
with a future release.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
I get rid of the Monoid instance because we weren't satisfying the laws.
Convenience of having <> didn't outweigh the shock-factor of having it
behave badly.
|
| |
|
|
|
|
|
|
|
|
| |
The benefit of this is that the ‘top-level’ element of such lists is
properly wrapped in <p> tags so any CSS working with these will be
applied properly. It also just makes more sense.
Pointed out at jgm/pandoc#1346.
|
|
|
|
|
| |
I can not remember why they were wrapped in paragraphs to begin with and
it seems unnecessary now that I test it. Closes #307.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
We move some types out that are necessary as well and then
re-export and specialise them in the core Haddock.
Reason for moving out spec tests is that if we're working on the parser,
we can simply work on that and we can ignore the rest of Haddock. The
downside is that it's a little inconvenient if at the end of the day we
want to see that everything passes.
|