| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The module name is already written in the beginning of the message, as
seems to be the convention in Haddock. Perhaps not so clear, but we
should change it everywhere in that case. Leaving it as it is for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We tried to filter out subordinates that were already exported through their parent.
This didn't work properly since we were in some cases looking at the
grand-parent and not the parent. We now properly compute all the parent-child
relations of a declaration, and use this information to get the parent of a
subordinate.
We also didn't consider record fields with multiple parents. This is now
handled correctly.
We don't currently support separately exported associated types. But when we
do, they should be handled correctly by this process too.
Also slightly improved the warning message that we give when filtering out
subordinates.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When support for GHC 6.10 was added, an error handler was installed only around
the typechecking phase. This had the effect that errors thrown during
dependency chasing were caught in the top-level exception handler and not
printed with enough detail. With this patch we wrap the error handler around
all our usage of the Ghc monad.
|
|
|
|
|
|
|
|
| |
The rule is to prefer type constructors to other things when an identifier in a
doc string can refer to multiple things. This stopped working with newer GHC
versions (due to a tiny change in the GHC renamer). We implement this rule
in the HTML backend for now, instead of fixing it in GHC, since we will move
renaming of doc strings to Haddock in the future anyway.
|
| |
|
|
|
|
| |
See note in the source code for more info.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We now filter out everything that is not a proper Haskell declaration before
collecting the docs and attaching them to declarations.
|
|
|
|
|
|
| |
We only show the strictness annotation for an unboxed constructor argument. The
fact that it is unboxed is an implementation detail and should not be part of
the module interface.
|
|
|
|
| |
This patch was contributed by Joachim Breitner (nomeata).
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We can't use HscNothing if we need to run code coming from modules inside
the processed package during typechecking, which is the case for some packages
using Template Haskell. This could be improved, to e.g. use HscInterpreted and
HscNothing where possible, instead of using HscC for all modules in the
package.
|
|
|
|
|
| |
This seems to have regressed since a refactoring that was
part of the 2.3.0 release.
|
|
|
|
|
|
|
|
|
|
| |
We should of course not try to produce documentation for boot modules! The
reason this has worked in the past is that the output of "real" modules
overwrites the output of boot modules later in the process. However, this
causes a subtle link environment problem. So let's get rid of this stupid
behaviour.
We avoid processing boot modules, but we continue to typecheck them.
|
|
|
|
|
|
|
| |
This fixes GHC ticket 2746.
In order to also link to the exported subordinate names of a declaration, we
need to re-introduce the sub map in the .haddock files.
|
|
|
|
| |
This fixes a bug where haddock leaves /tmp/ghc* directories uncleaned.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of a complicated calculation of visible names out of GHC's export
items, we can get them straight out of the already calculated ExportItems. The
ExportItems should represent exactly those items that are visible in an
interface.
If store all the exported sub-names in ExportDecl instead of only those with
documentation, the calculation becomes very simple. So we do this change as
well (should perhaps have been a separate patch).
This should fix the problem with names from ghc-prim not appearing in the link
environment.
|
|
|
|
| |
working on an executable rather than a library
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #65
|
|
|
|
| |
bracketing bug (#2584)
|
|
|
|
|
|
| |
We generate two anchor tags for each name, one where we don't escape the name
and one where we URI-encode it. This is for compatibility between IE and Opera.
Test output is updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We store documentation for an entity in the 'InstalledInterface' of the
definition site module, and never in the same structure for a module which
re-exports the entity. So when a client of the Haddock library wants to look up
some documentation, he/she might need to access a hidden module. But we
currently don't store hidden modules in the .haddock files.
So we add the hidden modules and the Haddock options to the .haddock files.
The options will be used to filter the module list to obtain the visible
modules only, which is necessary for generating the contents and index for
installed packages.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
There used to be a bug in the GHC API that prevented us from setting this
value.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces:
- A page that displays the documentation in a framed view. The left
side will show a full module index. Clicking a module name will
show it in the right frame. If Javascript is enabled, the left
side is split again to show the modules at the top and a very short
synopsis for the module currently displayed on the right.
- Code to generate the mini-synopsis for each module and the mini
module index ("index-frames.html").
- CSS rules for the mini-synopsis.
- A very small amount of javascript to update the mini-synopsis (but
only if inside a frame.)
Some perhaps controversial things:
- Sharing code was very difficult, so there is a small amount of code
duplication.
- The amount of generated pages has been doubled, since every module
now also gets a mini-synopsis. The overhead should not be too
much, but I haven't checked. Alternatively, the mini-synopsis
could also be generated using Javascript if we properly annotate
the actual synopsis.
|