| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|