aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock
Commit message (Collapse)AuthorAgeFilesLines
* 'needsTemplateHaskell' is not defined in current stable GHC.Thomas Schilling2009-02-241-0/+3
|
* Hide funTyConName, now exported by TypeRepsimonpj2009-02-021-1/+1
|
* Fix bad error handling with newer GHCsDavid Waern2009-02-251-26/+20
| | | | | | | | 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.
* Fix small bugDavid Waern2009-02-241-6/+17
| | | | | | | | 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.
* Typo in commentJoachim Breitner2009-02-201-1/+1
|
* Do not show a subordinate at the top level if its parent is also exportedDavid Waern2009-02-071-6/+44
| | | | See note in the source code for more info.
* Correct commentDavid Waern2009-01-241-2/+2
|
* Correct spelling mistake in error messageDavid Waern2009-01-241-1/+1
|
* Filter out separately exported associated types in a smarter wayDavid Waern2009-01-231-17/+19
|
* Fix Trac #50: do not attach docs to pragmas or other kinds of non-declarationsDavid Waern2009-01-221-12/+10
| | | | | We now filter out everything that is not a proper Haskell declaration before collecting the docs and attaching them to declarations.
* Do not indicate that a constructor argument is unboxedDavid Waern2009-01-211-1/+2
| | | | | | 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.
* Fix Trac #59: TH-generated declarations disappearingDavid Waern2009-01-201-7/+1
| | | | This patch was contributed by Joachim Breitner (nomeata).
* Document H.I.Create.collectDocs betterDavid Waern2009-01-201-1/+4
|
* Only use needsTemplateHaskell when compiling with GHC 6.10.2 or aboveDavid Waern2009-01-101-0/+4
|
* Fix Trac #68: Turn on compilation via C for Template Haskell packagesDavid Waern2009-01-101-1/+14
| | | | | | | | 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.
* Export modules also when coming from external packagesDavid Waern2009-01-081-4/+15
| | | | | This seems to have regressed since a refactoring that was part of the 2.3.0 release.
* Do not process boot modulesDavid Waern2009-01-061-26/+38
| | | | | | | | | | 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.
* Show re-exported names from external packages againDavid Waern2009-01-026-44/+85
| | | | | | | 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.
* Wrap the GHC usage with defaultCleanupHandlerIan Lynagh2008-12-111-5/+6
| | | | This fixes a bug where haddock leaves /tmp/ghc* directories uncleaned.
* Make visible names from ExportItemsDavid Waern2008-12-084-69/+29
| | | | | | | | | | | | | | 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.
* Make forall's in constructors explicit, i.e. data Foo = Foo {foo :: Eq a => a}Neil Mitchell2008-12-151-2/+8
|
* Resolve conflict properlyDavid Waern2008-12-071-0/+1
|
* Solve conflictDavid Waern2008-12-071-1/+0
|
* Haddock really shouldn't try to overwrite files.Thomas Schilling2008-11-291-1/+1
|
* Allow referring to a specific section within a module in a module linkRoman Cheplyaka2008-11-271-1/+1
| | | | Fixes #65
* Drop HsDocTy annotations, they mess up pretty printing and also have a ↵Neil Mitchell2008-11-271-9/+29
| | | | bracketing bug (#2584)
* FIX #45: generate two anchors for each nameDavid Waern2008-11-231-1/+9
| | | | | | 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.
* Store hidden modules in .haddock filesDavid Waern2008-11-152-7/+11
| | | | | | | | | | | | | 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.
* Make DocName an instance of NamedThingDavid Waern2008-11-101-0/+7
|
* Document the functions in H.DocNameDavid Waern2008-11-101-0/+2
|
* Set HscTarget to HscNothing instead of HscAsmDavid Waern2008-11-081-1/+1
| | | | | There used to be a bug in the GHC API that prevented us from setting this value.
* Fix warnings in H.GHC.TypecheckDavid Waern2008-11-061-10/+4
|
* Fix warnings in H.InterfaceFile and H.OptionsDavid Waern2008-11-062-3/+4
|
* Fix warnings in Haddock.VersionDavid Waern2008-11-061-0/+1
|
* Fix warnings in Haddock.ModuleTreeDavid Waern2008-11-061-8/+7
|
* Fix warnings in H.B.HH and H.B.HH2David Waern2008-11-062-0/+2
|
* Follow change to ExportDecl in frames codeDavid Waern2008-11-041-1/+1
|
* Enable framed view of the HTML documentation.Thomas Schilling2008-10-242-9/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make named doc comments into ExportDoc instead of ExportDeclDavid Waern2008-10-271-0/+1
| | | | | Fixes a crash when processing modules without export lists containing named docs.
* WibbleDavid Waern2008-10-221-0/+1
|
* Fix warnings in H.UtilsDavid Waern2008-10-221-12/+10
|
* Fix warnings in H.GHC.UtilsDavid Waern2008-10-221-0/+5
|
* Tidy up code in H.I.Create a littleDavid Waern2008-10-221-38/+3
| | | | | Remove commented out half-done type instance support, and remove DeclWithDoc synonym.
* Remove subordinate map and its usageDavid Waern2008-10-222-23/+17
| | | | It is not needed now that we store subordinate names in the DeclInfo map.
* Make renamer consistentDavid Waern2008-10-201-9/+12
| | | | | Instead of explicitly making some binders Undocumented, treat all names the same way (that is, try to find a Documented name).
* Force interface more aggressively.Thomas Schilling2008-10-201-0/+2
| | | | | | | 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).
* Document function and improve its layoutDavid Waern2008-10-161-5/+4
|
* Fix #61David Waern2008-10-167-66/+89
| | | | | | | | | | | | | | | | | | | 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.
* WibbleDavid Waern2008-10-161-3/+2
|
* Add subordinates with docs to the declaration mapDavid Waern2008-10-153-12/+14
| | | | | | | | | | | 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.