aboutsummaryrefslogtreecommitdiff
path: root/src/HaddockUtil.hs
Commit message (Collapse)AuthorAgeFilesLines
* [haddock @ 2005-05-21 12:35:29 by panne]panne2005-05-211-2/+6
| | | | Warning/versionitis police
* [haddock @ 2005-02-02 16:23:00 by simonmar]simonmar2005-02-021-1/+5
| | | | | | | | | | | | | | | | | | | | | | Revamp the linking strategy in Haddock. Now name resolution is done in two phases: - first resolve everything to original names, like a Haskell compiler would. - then, figure out the "home" location for every entity, and point all the links to there. The home location is the lowest non-hidden module in the import hierarchy that documents the entity. If there are multiple candidates, one is chosen at random. Also: - Haddock should not generate any HTML with dangling links any more. Unlinked references are just rendered as plain text. - Error reporting is better: if we can't find a link destination for an entity reference, we now emit a warning.
* [haddock @ 2005-01-16 15:41:21 by panne]panne2005-01-161-17/+11
| | | | Cleaned up imports and dropped support for GHC < 5.03, it never worked, anyway.
* [haddock @ 2005-01-15 18:44:45 by panne]panne2005-01-151-5/+5
| | | | | | | | | | Make Haddock compile again after the recent base package changed. The Map/Set legacy hell has been factored out, so that all modules can simply use the new non-deprecated interfaces. Probably a lot of things can be improved by a little bit of Map/Set/List algebra, this can be done later if needed. Small note: Currently the list of instances in HTML code is reversed. This will hopefully be fixed later.
* [haddock @ 2004-11-01 16:39:01 by panne]panne2004-11-011-5/+0
| | | | Revert previous commit: It's Network.URI which should be changed, not Haddock.
* [haddock @ 2004-10-28 16:01:51 by krasimir]krasimir2004-10-281-0/+5
| | | | update for ghc-6.3+
* [haddock @ 2004-08-09 11:55:05 by simonmar]simonmar2004-08-091-41/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for a short description for each module, which is included in the contents. The short description should be given in a "Description: " field of the header. Included in this patch are changes that make the format of the header a little more flexible. From the comments: -- all fields in the header are optional and have the form -- -- [spaces1][field name][spaces] ":" -- [text]"\n" ([spaces2][space][text]"\n" | [spaces]"\n")* -- where each [spaces2] should have [spaces1] as a prefix. -- -- Thus for the key "Description", -- -- > Description : this is a -- > rather long -- > -- > description -- > -- > The module comment starts here -- -- the value will be "this is a .. description" and the rest will begin -- at "The module comment". The header fields must be in the following order: Module, Description, Copyright, License, Maintainer, Stability, Portability. Patches submitted by: George Russell <ger@informatik.uni-bremen.de>, with a few small changes be me, mostly to merge with other recent changes. ToDo: document the module header.
* [haddock @ 2004-08-02 21:12:25 by panne]panne2004-08-021-4/+9
| | | | Use pathJoin instead of low-level list-based manipulation for FilePaths
* [haddock @ 2004-08-01 19:52:06 by krasimir]krasimir2004-08-011-6/+8
| | | | fix some bugs. Now I have got the entire libraries documentation in HtmlHelp 2.0 format.
* [haddock @ 2004-07-31 12:04:37 by krasimir]krasimir2004-07-311-2/+2
| | | | | make the DHtmlTree in contents page more portable. The +/- buttons are replaced with new images which looks more beatiful.
* [haddock @ 2004-07-28 22:12:09 by krasimir]krasimir2004-07-281-0/+11
| | | | | bugfix. Move contentsHtmlFile, indexHtmlFile and subIndexHtmlFile functions to HaddockUtil.hs module to make them accessible from HaddockHH2.hs
* [haddock @ 2004-07-27 22:58:23 by krasimir]krasimir2004-07-271-2/+21
| | | | Add basic support for Microsoft HTML Help 2.0
* [haddock @ 2004-03-25 09:35:14 by simonmar]simonmar2004-03-251-2/+3
| | | | restrictTo: fix for restricting a newtype with a record field.
* [haddock @ 2004-03-24 10:12:08 by simonmar]simonmar2004-03-241-4/+16
| | | | Make restrictCons take into account record field names too (removing a ToDo).
* [haddock @ 2003-11-10 16:15:18 by simonmar]simonmar2003-11-101-1/+1
| | | | copyright update
* [haddock @ 2003-08-27 07:50:02 by panne]panne2003-08-271-3/+12
| | | | | | | | | | | | | | | | | * Made -D a short option for --dump-interface. * Made -m a short option for --ms-help. * Made -n a short option for --no-implicit-prelude. * Made -c a short option for --css. * Removed DocBook options from executable (they didn't do anything), but mark them as reserved in the docs. Note that the short option for DocBook output is now -S (from SGML) instead of -d. The latter is now a short option for --debug. * The order of the Options in the documentation now matches the order printed by Haddock itself. Note: Although changing the names of options is often a bad idea, I'd really like to make the options for the programs in fptools more consistent and compatible to the ones used in common GNU programs.
* [haddock @ 2003-07-28 14:32:42 by simonmar]simonmar2003-07-281-3/+15
| | | | Update to avoid using hslibs with GHC >= 5.04
* [haddock @ 2003-02-24 21:26:29 by panne]panne2003-02-241-2/+4
| | | | | | | | Don't convert a "newtype" to a single-constructor "data" for non-abstractly exported types, they are quite different regarding strictness/pattern matching. Now a "data" without any constructors is only emitted for an abstractly exported type, regardless if it is actually a "newtype" or a "data".
* [haddock @ 2002-07-24 09:42:17 by simonmar]simonmar2002-07-241-22/+34
| | | | Patches to quieten ghc -Wall, from those nice folks at Galois.
* [haddock @ 2002-07-15 10:14:30 by simonmar]simonmar2002-07-151-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Be a bit more liberal in the kind of commenting styles we allow, as suggested by Malcolm Wallace. Mostly this consists of allowing doc comments either side of a separator token. In an export list, a section heading is now allowed before the comma, as well as after it. eg. module M where ( T(..) -- * a section heading , f -- * another section heading , g ) In record fields, doc comments are allowed anywhere (previously a doc-next was allowed only after the comma, and a doc-before was allowed only before the comma). eg. data R = C { -- | describes 'f' f :: Int -- | describes 'g' , g :: Int }
* [haddock @ 2002-07-09 16:33:31 by krasimir]krasimir2002-07-091-0/+5
| | | | 'Microsoft HTML Help' support
* [haddock @ 2002-07-03 16:01:07 by simonmar]simonmar2002-07-031-10/+13
| | | | | | Handle import specs properly, include 'hiding'. Haddock now has a complete implementation of the Haskell module system (more or less; I won't claim it's 100% correct).
* [haddock @ 2002-06-24 14:37:42 by simonmar]simonmar2002-06-241-4/+22
| | | | | | | | | | | | | | When reading an interface, allow a file path offset to be specified which represents the path to the HTML files for the modules specified by that interface. The path may be either relative (to the location of the HTML for this package), or absolute. The syntax is --read-interface=PATH,FILE where PATH is the path to the HTML, and FILE is the filename containing the interface.
* [haddock @ 2002-06-21 15:50:42 by simonmar]simonmar2002-06-211-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for reading and writing interface files(!) This turned out to be quite easy, and necessary to get decent hyperlinks between the documentation for separate packages in the libraries. The functionality isn't quite complete yet: for a given package of modules, you'd like to say "the HTML for these modules lives in directory <dir>" (currently they are assumed to be all in the same place). Two new flags: --dump-interface=FILE dump an interface file in FILE --read-interface=FILE read interface from FILE an interface file describes *all* the modules being processed. Only the exported names are kept in the interface: if you re-export a name from a module in another interface the signature won't be copied. This is a compromise to keep the size of the interfaces sensible. Also, I added another useful option: --no-implicit-prelude avoids trying to import the Prelude. Previously this was the default, but now importing the Prelude from elsewhere makes sense if you also read in an interface containing the Prelude module, so Haddock imports the Prelude implicitly according to the Haskell spec.
* [haddock @ 2002-06-03 13:05:57 by simonmar]simonmar2002-06-031-6/+9
| | | | | | | Allow exporting of individual class methods and record selectors. For these we have to invent the correct type signature, which we do in the simplest possible way (i.e. no context reduction nonsense in the class case).
* [haddock @ 2002-05-27 09:03:51 by simonmar]simonmar2002-05-271-1/+11
| | | | | | | | | | | | | | Lots of changes: - instances of a class are listed with the class, and instances involving a datatype are listed with that type. Derived instances aren't included at the moment: the calculation to find the instance head for a derived instance is non-trivial. - some formatting changes; use rows with specified height rather than cellspacing in some places. - various fixes (source file links were wrong, amongst others)
* [haddock @ 2002-05-15 13:03:01 by simonmar]simonmar2002-05-151-23/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reworking of the internals to support documenting function arguments (the Most Wanted new feature by the punters). The old method of keeping parsed documentation in a Name -> Doc mapping wasn't going to cut it for anntations on type components, where there's no name to attach the documentation to, so I've moved to storing all the documentation in the abstract syntax. Previously some of the documentation was left in the abstract syntax by the parser, but was later extracted into the mapping. In order to avoid having to parameterise the abstract syntax over the type of documentation stored in it, we have to parse the documentation at the same time as we parse the Haskell source (well, I suppose we could store 'Either String Doc' in the HsSyn, but that's clunky). One upshot is that documentation is now parsed eagerly, and documentation parse errors are fatal (but have better line numbers in the error message). The new story simplifies matters for the code that processes the source modules, because we don't have to maintain the extra Name->Doc mapping, and it should improve efficiency a little too. New features: - Function arguments and return values can now have doc annotations. - If you refer to a qualified name in a doc string, eg. 'IO.putStr', then Haddock will emit a hyperlink even if the identifier is not in scope, so you don't have to make sure everything referred to from the documentation is imported. - several bugs & minor infelicities fixed.
* [haddock @ 2002-05-08 14:48:39 by simonmar]simonmar2002-05-081-4/+5
| | | | Add support for existential quantifiers on constructors.
* [haddock @ 2002-04-29 15:28:12 by simonmar]simonmar2002-04-291-1/+1
| | | | bugfix for declBinders on a NewTypeDecl
* [haddock @ 2002-04-26 11:18:56 by simonmar]simonmar2002-04-261-4/+4
| | | | | | | - support for fundeps (partially contributed by Brett Letner - thanks Brett). - make it build with GHC 4.08.2
* [haddock @ 2002-04-24 15:14:11 by simonmar]simonmar2002-04-241-2/+24
| | | | | | | Grok the kind of module headers we use in fptools/libraries, and pass the "portability", "stability", and "maintainer" strings through into the generated HTML. If the module header doesn't match the pattern, then we don't include the info in the HTML.
* [haddock @ 2002-04-11 13:40:30 by simonmar]simonmar2002-04-111-0/+138
- copy haddock.css into the same place as the generated HTML - new option: --css <file> specifies the style sheet to use - new option: -o <dir> specifies the directory in which to generate the output. - because Haddock now needs to know where to find its default stylesheet, we have to have a wrapper script and do the haddock-inplace thing (Makefile code copied largely from fptools/happy).