aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/Backends/Html.hs
Commit message (Collapse)AuthorAgeFilesLines
* Remove H.DocName and put DocName in H.TypesDavid Waern2009-03-271-1/+0
|
* Use docNameOcc instead of nameOccName . getNameDavid Waern2009-03-271-1/+1
|
* Remove docNameOrig and use getName everywhere insteadDavid Waern2009-03-271-6/+6
|
* -Wall police in H.B.HtmlDavid Waern2009-03-261-181/+224
|
* 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.
* 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.
* Show re-exported names from external packages againDavid Waern2009-01-021-3/+3
| | | | | | | 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.
* Make visible names from ExportItemsDavid Waern2008-12-081-8/+8
| | | | | | | | | | | | | | 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.
* Allow referring to a specific section within a module in a module linkRoman Cheplyaka2008-11-271-1/+1
| | | | Fixes #65
* 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.
* Follow change to ExportDecl in frames codeDavid Waern2008-11-041-1/+1
|
* Enable framed view of the HTML documentation.Thomas Schilling2008-10-241-6/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix #61David Waern2008-10-161-21/+21
| | | | | | | | | | | | | | | | | | | 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.
* Remove interface from LinksInfoDavid Waern2008-10-111-49/+49
| | | | | It was there to know the documentation home module when creating a wiki link, but we already know this since we have the DocName.
* Add support for DocPicDavid Waern2008-10-101-0/+1
| | | | | | 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!
* Make Haddock build with GHC 6.8.2David Waern2008-10-101-0/+4
|
* Write a comment about source links for type instance declarationsDavid Waern2008-10-021-0/+3
|
* For source links, get original module from declaration name instead of ↵David Waern2008-10-021-7/+3
| | | | | | | environment. Getting it from the environment must have been a remnant from the times when we were using unqualified names (versions 0.x).
* Reflect GHC API changes.Thomas Schilling2008-09-151-1/+1
|
* Follow move of package string functions from PackageConfig to ModuleDavid Waern2008-08-131-1/+1
|
* Print parenthesis around non-atomic banged typesDavid Waern2008-07-241-1/+1
| | | | Fixes half of #44
* Drop unnecessary parenthesis in types, put in by the userDavid Waern2008-07-241-9/+9
| | | | | | | | | | | | | We were putting in parenthesis were the user did. Let's remove this since it just clutters up the types. The types are readable anyway since we print parens around infix operators and do not rely on fixity levels. When doing this I discovered that we were relying on user parenthesis when printin types like (a `O` b) c. This patchs fixes this problem so that parenthesis are always inserted around an infix op application in case it is applied to further arguments, or if it's an arguments to a type constructor. Tests are updated.
* FIX #44: Propagate parenthesis level when printing documented typesDavid Waern2008-07-241-1/+1
|
* Preparation for rendering instances as separate declarationsDavid Waern2008-07-201-38/+87
| | | | | | | | | We want to be able to render instances as separate declarations. So we remove the Name argument of ExportDecl, since instances are nameless. This patch also contains the first steps needed to gather type family instances and display them in the backend, but the implementation is far from complete. Because of this, we don't actually show the instances yet.
* More support for type families and associated typesDavid Waern2008-07-021-49/+70
| | | | Now we just need to render the instances
* Remove redundant check for summary when rendering data typesDavid Waern2008-07-021-4/+3
|
* Render type family declarations (untested)David Waern2008-07-021-6/+80
|
* Be more consistent with GHC API naming in H.GHC.UtilsDavid Waern2008-06-191-1/+1
|
* Fix missing parenthesis in constructor args bugDavid Waern2008-04-121-4/+4
|
* Fix printing of data bindersDavid Waern2008-04-121-3/+5
|
* Change the representation of DocNamesDavid Waern2008-02-091-50/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ross Paterson reported a bug where links would point to the defining module instead of the "best" module for an identifier (e.g Int pointing to GHC.Base instead of Data.Int). This patch fixes this problem by refactoring the way renamed names are represented. Instead of representing them by: > data DocName = Link Name | NoLink Name they are now represented as such: > data DocName = Documented Name Module | Undocumented Name and the the link-env looks like this: > type LinkEnv = Map Name Module There are several reasons for this. First of all, the bug was caused by changing the module part of Names during the renaming process, without changing the Unique field. This caused names to be overwritten during the loading of .haddock files (which caches names using the NameCache of the GHC session). So we might create new Uniques during renaming to fix this (but I'm not sure that would be problem-free). Instead, we just keep the Name and add the Module where the name is best documented, since it can be useful to keep the original Name around (for e.g. source-code location info and for users of the Haddock API). Also, the names Link/NoLink don't really make sense, since wether to use links or not is entirely up to the users of DocName. In the process of following this change into H.Backends.Html I removed the assumption that binder names are Undocumented (which was just an unnecessary assumption, the OccName is the only thing needed to render these). This will probably make it possible to get rid of the renamer and replace it with a traversal from SYB or Uniplate. Since DocName has changed, InterfaceFile has changed so this patch also increments the file-format version. No backwards-compatibility is implemented.
* Manual merge of a patch to the 0.8 branchDavid Waern2008-01-061-9/+11
| | | | | | | Thu Dec 6 15:00:10 CET 2007 Simon Marlow <simonmar@microsoft.com> * Source links must point to the original module, not the referring module
* Source links must point to the original module, not the referring moduleSimon Marlow2007-12-061-3/+11
|
* Fix a bug (use ppTyName instead of ppName to print names in type apps)David Waern2007-12-081-1/+1
|
* Fix rendering of class operatorsDavid Waern2007-12-081-42/+26
|
* Fix rendering of instance heads to handle infix operatorsDavid Waern2007-12-081-13/+22
| | | | | This is also a refactoring to share this code for rendering predicates.
* Use ppParendType when printing types args in predicatesDavid Waern2007-12-081-4/+5
|
* Add ppLParendTypes/ppLParendTypeDavid Waern2007-12-081-4/+9
|
* Code layout changesDavid Waern2007-12-081-2/+2
|
* Handle class operators correctly when rendering predicatesDavid Waern2007-12-081-1/+15
|
* addition of type equality support (at least for HTML generation)Wolfgang Jeltsch2007-12-031-0/+1
|
* Make the search box in a form so that enter does the default searchNeil Mitchell2007-01-121-4/+6
|
* Fix conflictsDavid Waern2007-11-111-22/+16
|
* Rewrite much of the index searching code, previously was too slow to execute ↵Neil Mitchell2007-01-121-3/+13
| | | | on the base library with IE, the new version guarantees less than O(log n) operations be performed, where n is the number in the list (before was always O(n))
* Change from tabs to spaces in the ppHtmlIndex functionNeil Mitchell2007-01-111-19/+25
|
* Manual merge of old patch:David Waern2007-11-111-6/+15
| | | | | | Sat Apr 21 04:36:43 CEST 2007 Roberto Zunino <zunrob@users.sf.net> * URL expansion for %%, %L, %{LINE}
* added substitution %{FILE///c}Conal Elliott2007-02-141-0/+3
|
* Fix conflictsDavid Waern2007-11-111-30/+21
|
* Do not create empty tables for data declarations which don't have any ↵Neil Mitchell2007-02-061-9/+23
| | | | constructors, instances or comments. Gets better HTML 4.01 compliance
* Make the index be in case-insensitive alphabetic orderNeil Mitchell2007-01-111-1/+1
|