aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/InterfaceFile.hs
Commit message (Collapse)AuthorAgeFilesLines
* Go back to having a doc, sub and decl map instead of one big decl map.David Waern2011-12-271-4/+6
| | | | | | | | | This setup makes more sense since when we add value bindings to the processed declarations (for type inference), we will have multiple declarations which should share documentation. Also, we already have a separate doc map for instances which we can now merge into the main doc map. Another benefit is that we don't need the DeclInfo type any longer.
* Allow doc comments to link to out-of-scope things (#78).David Waern2011-11-261-0/+6
| | | | (A bug that should have been fixed long ago.)
* Give preference to type over data constructors for doc comment links at ↵David Waern2011-11-261-2/+2
| | | | | | | | | | | renaming time. Previously this was done in the backends. Also, warn when a doc comment refers to something that is in scope but which we don't have the .haddock file for. These changes mean we can make DocIdentifier [a] into DocIdentifier a.
* Remove #ifs for older compiler versions.David Waern2011-11-251-2/+0
|
* Add flag --interface-version.David Waern2011-11-251-1/+1
|
* Merge branch 'development'David Waern2011-10-221-7/+3
|\
| * Bump .haddock file version since the format has changed recentlyDavid Waern2011-10-221-7/+3
| |
| * Add safe haskell indication to haddock outputDavid Terei2011-10-121-1/+3
| |
* | Add safe haskell indication to haddock outputDavid Terei2011-10-121-1/+3
| |
* | Follow changes to BinIface Name serializationMax Bolingbroke2011-09-271-20/+35
|/
* Bump GHC dep to allow 7.2Ian Lynagh2011-06-261-0/+4
|
* Remove code for ghc < 7David Waern2010-11-151-5/+1
|
* follow changes in the GHC APISimon Marlow2010-10-271-0/+3
|
* Fix up __GLASGOW_HASKELL__ testsIan Lynagh2010-09-211-2/+2
|
* Update interface file versioning to work with ghc 6.14/15David Waern2010-08-311-0/+4
|
* Add source entity path to --read-interfaceDavid Waern2010-08-291-1/+8
| | | | | | | | | | | | | You can now use this flag like this: --read-interface=<html path>,<source entity path>,<.haddock file> By "source entity path" I mean the same thing that is specified with the --source-entity flag. The purpose of this is to be able to specify the source entity path per package, to allow source links to work in the presence of cross-package documentation. When given two arguments or less the --read-interface flag behaves as before.
* Fix build in GHC treeIan Lynagh2010-07-301-1/+1
|
* Style police in Haddock.InterfaceFileDavid Waern2010-07-211-12/+12
|
* Fix a few stylistic issues in H.InterfaceFileDavid Waern2010-05-131-2/+9
|
* Position the module header the same way everywhereDavid Waern2010-05-131-1/+0
| | | | Silly, but nice with some consistency :-)
* Add markup support for interactive examplessimon.hengel2010-04-021-0/+16
|
* Rename HsDoc back into DocDavid Waern2009-11-281-1/+1
|
* Remove cruft due to compatibility with older GHCsDavid Waern2009-11-281-5/+1
|
* Fix building with GHC >= 6.12Ian Lynagh2009-09-221-0/+6
|
* Use Map.fromList/toList intead of fromAscList/toAscList when serializing MapsDavid Waern2009-09-111-2/+2
| | | | | | | This fixes the missing docs problem. The Eq and Ord instances for Name uses the unique number in Name. This number is created at deserialization time by GHC's magic Binary instance for Name, and it is random. Thus, fromAscList can't be used at deserialization time, even though toAscList was used at serialization time.
* Follow changes in GHC's interface file formatSimon Marlow2009-08-241-4/+4
| | | | Word32 instead of Int for FastString and Name offsets
* InterfaceFile: ghc >= 6.10Isaac Dupree2009-08-231-28/+0
|
* cross-package fnArgDocs. WARNING: changes .haddock binary formatIsaac Dupree2009-08-231-8/+15
| | | | | | | | | | | | | | | | While breaking the format, I took the opportunity to unrename the DocMap that's saved to disk, because there's really no reason that we want to know what *another* package's favorite place to link a Name to was. (Is that true? Or might we want to know, someday?) Also, I added instance Binary Map in InterfaceFile. It makes the code a little simpler without changing anything of substance. Also it lets us add another Map hidden inside another Map (fnArgsDocs in instDocMap) without having really-convoluted serialization code. Instances are neat! I don't understand why this change to InterfaceFile seemed to subtly break binary compatibility all by itself, but no matter, I'll just roll it into the greater format-changing patch. Done!
* Do not version .haddock file based on GHC patchlevel versionDavid Waern2009-08-141-18/+5
| | | | | We require that the instances of Binary that we use from GHC will not change between patchlevel versions.
* Version .haddock files made with GHC 6.10.3/4 correcltyDavid Waern2009-08-141-6/+6
|
* Fix unused import warningsIan Lynagh2009-07-071-5/+0
|
* Add Haddock module headersDavid Waern2009-06-241-5/+10
| | | | | | | | | Add a proper Haddock module header to each module, with a more finegrained copyright. If you feel mis-accreditted, please correct any copyright notice! The maintainer field is set to haddock@projects.haskell.org. Next step is to add a brief description to each module.
* -Wall policeDavid Waern2009-03-271-1/+1
|
* Remove H.DocName and put DocName in H.TypesDavid Waern2009-03-271-1/+23
|
* Bump .haddock file version number (due to change of format)David Waern2009-03-211-5/+11
|
* Typo in commentJoachim Breitner2009-02-201-1/+1
|
* Show re-exported names from external packages againDavid Waern2009-01-021-2/+6
| | | | | | | 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.
* Store hidden modules in .haddock filesDavid Waern2008-11-151-5/+7
| | | | | | | | | | | | | 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.
* Fix warnings in H.InterfaceFile and H.OptionsDavid Waern2008-11-061-1/+2
|
* WibbleDavid Waern2008-10-221-0/+1
|
* Add back .haddock file versioning based on GHC versionDavid Waern2008-10-101-0/+9
| | | | It was accidentally removed in the patch for GHC 6.8.2 compatibility
* Make Haddock build with GHC 6.8.2David Waern2008-10-101-10/+13
|
* Port Haddock.Interface to new GHC API.Thomas Schilling2008-09-151-42/+60
| | | | | | | | | | | | | | | | This required one bigger change: 'readInterfaceFile' used to take an optional 'Session' argument. This was used to optionally update the name cache of an existing GHC session. This does not work with the new GHC API, because an active session requires the function to return a 'GhcMonad' action, but this is not possible if no session is provided. The solution is to use an argument of functions for reading and updating the name cache and to make the function work for any monad that embeds IO, so it's result type can adapt to the calling context. While refactoring, I tried to make the code a little more self-documenting, mostly turning comments into function names.
* Fix some warningsIan Lynagh2008-08-271-51/+55
|
* Follow changes to Binary in GHC 6.9David Waern2008-08-131-1/+78
|
* Make our .haddock file version number depend on the GHC versionDavid Waern2008-08-121-1/+17
| | | | | | We need to do this, since our .haddock format can potentially change whenever GHC's version changes (even when only the patchlevel changes).
* Remove claim of backwards compatibility from docs for readInterfaceFileDavid Waern2008-05-011-2/+0
|
* Fix some trivial warnings in H.InterfaceFileDavid Waern2008-02-101-4/+7
|
* Change the representation of DocNamesDavid Waern2008-02-091-21/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add documentation for readInterfaceFileDavid Waern2008-01-071-1/+5
|