| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
| |
Fixes a crash when processing modules without export lists containing named
docs.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Remove commented out half-done type instance support, and remove DeclWithDoc
synonym.
|
|
|
|
| |
It is not needed now that we store subordinate names in the DeclInfo map.
|
|
|
|
|
| |
Instead of explicitly making some binders Undocumented, treat all names the
same way (that is, try to find a Documented name).
|
|
|
|
|
|
|
| |
For running Haddock on GHC this reduces memory usage by about 50 MB on
a 32 bit system. A heap profile shows total memory usage peak at
about 100 MB, but actual usage is at around 300 MB even with
compacting GC (+RTS -c).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were not getting docs for re-exported class methods. This was because we
were looking up the docs in a map made from the declarations in the current
module being rendered. Obviously, re-exported class methods come from another
module.
Class methods and ATs were the only thing we were looking up using the doc map,
everything else we found in the ExporItems. So now I've put subordinate docs
in the ExportItem's directly, to make things a bit more consistent.
To do this, I added subordinates to the the declarations in the declaration
map. This was easy since we were computing subordinates anyway, to store
stand-alone in the map. I added a new type synonym 'DeclInfo', which is what we
call what is now stored in the map.
This little refactoring removes duplicate code to retrieve subordinates and
documentation from the HsGroup.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The only place in the code where we want the subordinates for a declaration is
right after having looked up the declaration in the map.
And since we include subordinates in the map, we might as well take the
opportunity to store those subordinates that belong to a particular declaration
together with that declaration.
We also store the documentation for each subordinate.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It was there to know the documentation home module when creating
a wiki link, but we already know this since we have the DocName.
|
|
|
|
|
|
| |
The support for DocPic was merged into the GHC source long ago,
but the support in Haddock was forgotten. Thanks Peter Gavin for
submitting this fix!
|
|
|
|
| |
It was accidentally removed in the patch for GHC 6.8.2 compatibility
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We add some strictness annotations to the fields of Interface,
so that less GHC data is hold on to during processing.
|
|
|
|
|
|
| |
At the same time, we fix a bug where the list of interfaces were
processed in the wrong order, when building the links and renaming
the interfaces.
|
|
|
|
|
|
| |
This still doesn't fix the memory leak since the typechecked source is
retained and then processed separately. To fix the leak, modules must
be processed directly after typechecking.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
environment.
Getting it from the environment must have been a remnant from the
times when we were using unqualified names (versions 0.x).
|