| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This reverts commit 57aa591362d7c8ba21285fccd6a958629a422091. I am
reverting this because I pushed it to master when it was meant to stay
on a wip-branch. Sorry Gergo and everyone who had trouble due to this.
|
| |
|
|
|
|
|
| |
We can now drop some Maybe tests and even lets us strip an error
handling monad away in a few places.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We have to generalise the Doc (now DocH) slightly to remove the
dependency on GHC-supplied type.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Starting with GHC 7.10, System.Exit exports the new `die`
which is essentially the same as Haddock.Util.die, so this
commit changes Haddock.Util.die to be a simple re-export
of System.Exit.die. See also
https://ghc.haskell.org/trac/ghc/ticket/9016
for more details.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
| |
|
|
|
|
| |
Fixes #298.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
I could not find a cleaner way to do this other than checking for
string equality with the given built-in types. But seeing as it's
actually equivalent to string rewriting in GHC's implementation of
UnicodeSyntax, it's probably fitting.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This reverts commit 843c42c4179526a2ad3526e4c7d38cbf4d50001d.
This change is no longer needed with the new rendering style, and it
messes with copy/pasting lines.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This resolves fixity information not appearing across package borders.
The binary file version has been increased accordingly.
|
|
|
|
|
| |
Identical fixities declared for the same line should now render using
syntax like: infix 4 <, >=, >, <=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new type of source code link, to a specific line rather than
a specific declaration/name - this is used to link to the location of a
TH splice that defines a certain name.
Rather hefty changes throughout and still one unresolved issue (the line
URLs aren't parsed from the third form of --read-interface which means
they're currently restricted to same-interface links). Not sure if
this issue is really worth all the hassle, especially since we could
just use line links in general.
This commit also contains some cleanup/clarification of the types in
Haddock.Backends.Xhtml.Decl and shortens some overlong lines in the
process. Notably, the Bool parameter was replaced by a Unicode type
synonym to help clarify its presence in type signatures.
|
|
|
|
|
|
| |
This lets you override them using eg. cabal haddock --haddock-options,
which can come in handy if you want to use a different layout or URL for
your source code links than cabal-install generates.
|
|
|
|
|
| |
They appear in the same position due to the float: right attribute but
now they're always at the top of the box instead of at the bottom.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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
|