| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
See Haddock Trac #195. We now change this behaviour to only rendering
the documentation attached to the first instance of a duplicate field.
Perhaps we could improve this by rendering the first instance that has
documentation attached to it but for now, we'll stick with this.
|
|
|
|
| |
Fixes Haddock Trac #267.
|
|
|
|
|
|
|
| |
This drops them to the new precedence pREC_CTX, which makes single
eqaulity constraints show up as (a ~ b) => ty, in line with GHC's
rendering. Additional tests added to make sure other type operators
render as intended. Current behavior matches GHC
|
|
|
|
|
|
| |
This introduces a new precedence level for single contexts (because
implicit param contexts always need parens around them, but other types
of contexts don't necessarily, even when alone)
|
|
|
|
| |
-Wall complains
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes bird tracks in the form
> foo
> bar
> bat
parse as if they had been written as
>foo
>bar
>bat
ie. without the leading whitespace in front of every line.
Ideally we also want to look into how leading whitespace affects code
blocks written using the @ @ syntax, which are currently unaffected by
this patch.
|
|
|
|
|
|
| |
This deals with what I imagine was an ancient TODO and makes it much
clearer what the argument actually does rather than having the user
chase down the comment.
|
|
|
|
|
| |
This fixes the ‘Missing documentation for…’ message for modules with
100% coverage.
|
|
|
|
|
|
|
| |
I have no idea what this was doing lying around here, and due to the
usage of tuples it's actually slower, too.
Signed-off-by: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
|
|
|
|
|
|
|
| |
This now displays them as (==) k a b c ... to mirror GHC's behavior,
instead of the old (k == a) b c ... which was just wrong.
Signed-off-by: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
|
|
|
|
|
|
|
|
| |
This adds support for type/data families with their respective
instances, as well as closed type families and associated type/data
families.
Signed-off-by: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
|
|
|
|
|
|
| |
This is briefly related to Haddock Trac #249 and employs effectively the
suggested fix _but_ it doesn't actually fix the reported issue. This
commit simply makes copying the full line a bit less of a pain.
|
|
|
|
| |
Fixes Haddock Trac #277.
|
|
|
|
|
|
| |
the context
The basic idea is that "a" and "+" are either pretty-printed as "a" and "(+)" or "`a`" and "+"
|
|
|
|
|
|
| |
In cases where we had some horizontal space before the closing ‘@’, the
parser would not accept the block as a code block and we'd get ugly
output.
|
| |
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
| |
Some tests were moved under parseString as they weren't about paragraph
level markup.
Conflicts:
src/Haddock/Parser.hs
test/Haddock/ParserSpec.hs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The nesting rules are similar to Markdown's with the exception that we
can not simply indent the first line of a hard wrapped indented
paragraph and have it treated as if it was fully indented. The reason is
differences in markup as some of our constructs care about whitespace
while others just swallow everything up so it's just a lot easier to not
bother with it rather than making arbitrary rules.
Note that we now drop trailing for string entities inside of lists. They
weren't needed and it makes the output look uniform whether we use a
single or double newline between list elements.
Conflicts:
src/Haddock/Parser.hs
test/Haddock/ParserSpec.hs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were some breaking changes over the last few patches so we bump
the interface version. This causes a big problem with testing:
1. To generate cross package docs, we first need to generate docs for
the package used.
2. To generate package docs with new interface version, we need to use
Haddock which has the version bumped.
3. To get Haddock with the version bump, we first need to test cross
package docs
4. GOTO 1
So the problem is the chicken and the egg problem. It seems that the
only solution would be to generate some interface files on the fly but
it is non-trivial.
To run this test, you'll have to:
* build Haddock without the test (make sure everything else passes)
* rebuild the packages used in the test with your shiny new binary
making sure they are visible to Haddock
* remove the ‘_hidden’ suffix and re-run the tests
Note: because the packages currently used for this test are those
provided by GHC, it's probably non-trivial to just re-build them.
Preferably something less tedious to rebuild should be used and
something that is not subject to change.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any extensions that are not enabled by a used language (Haskell2010
&c) will be shown. Furthermore, any implicitly enabled are also going
to be shown. While we could eliminate this either by using the GHC API
or a dirty hack, I opted not to: if a user doesn't want the implied
flags to show, they are recommended to use enable extensions more
carefully or individually. Perhaps this will encourage users to not
enable the most powerful flags needlessly. Enabled with show-extensions.
Conflicts:
src/Haddock/InterfaceFile.hs
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LaTeX will treat the h3-h6 headings the same as we'd have to hack the
style file heavily otherwise and it would make the headings tiny
anyway.
Hoogle upstream said they will put in the functionality on their end.
Conflicts:
src/Haddock/Interface/Rename.hs
src/Haddock/Types.hs
test/Haddock/ParserSpec.hs
|
|
|
|
|
|
|
| |
Conflicts:
src/Haddock/Backends/Hoogle.hs
src/Haddock/Interface/Rename.hs
src/Haddock/Parser.hs
|
|
|
|
|
|
|
|
| |
Also simplify specs and parsers while we're at it. Some parsers were
made more generic.
This commit is a part of GHC pre-merge squash, email
fuuzetsu@fuuzetsu.co.uk if you need the full commit history.
|
|
|
|
| |
We also check that we have parsed everything with endOfInput.
|
|
|
|
|
|
|
|
| |
We remove the HTML test as it is no longer necessary. We cover the
test case in spec tests and other HTML tests but keeping this around
fails: this is because the new parser has different semantics there.
In fact, I suspect the original behaviour was a bug that wasn't
caught/fixed but simply included as-is during the testing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
As `Traversable` needs at least one of `traverse` or `sequenceA` to be
overridden.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
| |
|
|
|
|
| |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
|
|
|
|
|
| |
I do the same thing that the XHTML backend does: give these no special
treatment and just act as if they are regular functions.
|
|
|
|
|
| |
This adds tests for all elements we can create during regular
parsing. This also adds tests for text with unicode in it.
|
| |
|
|
|
|
|
|
|
| |
This information is as relevant in the documentation as it is in the
source files themselves.
Signed-off-by: David Waern <david.waern@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This API change was part of the fix to Trac #4175. But it offers new
information to Haddock: the type-family instances, as well as the
class instances, of this type.
This patch just drops the new information on the floor, but there's an
open opportunity to use it in the information that Haddock displays.
|
|
|
|
| |
Signed-off-by: David Waern <david.waern@gmail.com>
|
| |
|
| |
|