| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #298.
|
| |
|
|
|
|
|
|
|
| |
The order of signature groups has been corrected upstream. Here we add a
test case and update some existing test-cases to reflect this change. We
remove grouped signature in test cases that we can (Minimal,
BugDeprecated &c) so that the test is as self-contained as possible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes bug #294.
This also fixes a related but never-before-mentioned bug about the
display of GADT record selectors with non-polymorphic type signatures.
Note: Associated data type constructors fail to show up if nothing is
exported that they could be attached to. Exporting any of the data types
in the instance head, or the class + data family itself, causes them to
show up, but in the absence of either of these, exporting just the
associated data type with the constructor itself will result in it
being hidden.
The only scenario I can come up that would involve this kind of
situation involved OverlappingInstances, and even then it can be
mitigated by just exporting the class itself, so I'm not going to solve
it since the logic would most likely be very complicated.
|
|
|
|
| |
Fixes #201.
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a regression from the data family instances change. Data
instances are now distinguished from regular lists by usage of the new
class "inst", and the style has been updated to only apply to those.
I've also updated the appropriate test case to test this a bit better,
including GADT instances with GADT-style records.
|
|
|
|
|
|
|
| |
Previously this was not covered by the All xs check since here it is not
actually an All, rather a single Var n.
This also adds the previously missing html-test/src/Minimal.hs.
|
|
|
|
| |
These were accidentally left there when the tests were originally added
|
|
|
|
|
|
|
|
|
| |
This corresponds to the new {-# MINIMAL #-} pragma present in GHC 7.8+.
I also cleaned up some of the places in which ExportDecl is used to make
adding fields easier in the future.
Lots of test cases have been updated since they now render with
minimality information.
|
|
|
|
|
|
| |
Not sure what to do about data families yet, since technically it would
not make a lot of sense to display constructors that cannot be used by
the user.
|
| |
|
| |
|
|
|
|
|
| |
Currently, this check does not extend to hidden right hand sides,
although it probably should hide them in that case.
|
|
|
|
|
|
|
| |
This moves them in-line with their corresponding lines, similar to a
presentation envision by @hvr and described in #ghc.
Redundant operator names are also omitted when no ambiguity is present.
|
|
|
|
|
| |
Identical fixities declared for the same line should now render using
syntax like: infix 4 <, >=, >, <=
|
|
|
|
|
|
| |
Affects functions, type synonyms, type families, class names, data type
names, constructors, data families, associated TFs/DFs, type synonyms,
pattern synonyms and everything else I could think of.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This test actually tests what #260 originally reported - I omitted the
RankNTypes scenario from the original fix because I realized it's not
relevant to the underlying issue and indeed, this renders as intended
now. Still good to have more tests.
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
The parsing of these seems to have been fixed by GHC folk and it now
renders differently. IMHO it now renders in a better way so I'm updating
the test to reflect this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
These should show up in every place where the class is visible, and
indeed they do right now.
Signed-off-by: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
|
|
|
|
|
|
|
| |
This just tests various stuff including poly-kinded patterns and
operator patterns to make sure the rendering isn't broken.
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>
|
| |
|
|
|
|
|
|
| |
the context
The basic idea is that "a" and "+" are either pretty-printed as "a" and "(+)" or "`a`" and "+"
|
|
|
|
|
| |
This updates tests due to Haddock Trac #271 fix and due to removal of
TypeHoles as an extension from GHC.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|