| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Render module tree per package in the content page
When rendering content page for multiple packages it is useful to split
the module tree per package. Package names in this patch are inferred
from haddock's interface file names.
* Write PackageInfo into interface file
To keep interface file format backward compatible, instead of using
`Binary` instance for `InterfaceFile` we introduce functions to
serialise and deserialise, which depends on the interface file version.
|
| | |
| | |
| | |
| | | |
This is also consistent with how html index is build. See
haskell/cabal#7669 for rationale behind this decision.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This is useful when one wishes to `--gen-contents` when rendering
multiple components, but one does not want to render all modules. This
is in particular useful when adding base package.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes #1481.
There were two bugs in this:
* We were assuming that we were always getting a relative path to the
module in question, while Nix gives us file:// URLs sometimes. This
change checks for those and stops prepending `..` to them.
* We were not linking to the file under the module. This seems
to have been a regression introduced by #977. That is, the URLs were
going to something like
file:///nix/store/3bwbsy0llxxn1pixx3ll02alln56ivxy-ghc-9.0.2-doc/share/doc/ghc/html/libraries/base-4.15.1.0/src
which does not have the appropriate HTML file or fragment for the item
in question at the end.
There is a remaining instance of the latter bug, but not in the
hyperlinker: the source links to items reexported from other modules are
also not including the correct file name. e.g. the reexport of Entity in
esqueleto, from persistent.
NOTE: This needs to get tested with relative-path located modules. It seems
correct for Nix based on my testing.
Testing strategy:
```
nix-shell '<nixpkgs>' --pure -A haskell.packages.ghc922.aeson
mkdir /tmp/aesonbuild && cd /tmp/aesonbuild
export out=/tmp/aesonbuild/out
genericBuild
ln -sf $HOME/co/haddock/haddock-api/resources .
./Setup haddock --with-haddock=$HOME/path/to/haddock/exec --hyperlink-source
```
|
| | |
| | |
| | |
| | |
| | | |
* Keep track of ordered list indexes and render them
* Rename some identifiers to clarify
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
| |
| |
| |
| | |
(cherry picked from commit 2fec1b44e0ee7e263286709aa528b4ecb99ac6c2)
|
| |
| |
| |
| | |
(cherry picked from commit cafb48118f7c111020663776845897e225607b41)
|
| | |
|
|/ |
|
|
|
|
| |
As landed via https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2418
|
|
|
|
|
|
|
|
|
| |
This catches up to GHC using the new extractTHDocs function, which
returns documentation added via the putDoc function (provided it was
compiled with Opt_Haddock). Since it's already a map from names -> docs,
there's no need to do traversal etc.
It also matches the change from the argument map being made an IntMap
rather than a Map Int
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
Explicit the imports from GHC.HsToCore.Docs
|
| | |
|
| | |
|
| |\
| | |
| | | |
Add UnitId to Target record
|
| | | |
|
| | | |
|
| |\ \
| | |/
| |/| |
Stable sort for instances
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
This prevents noLoc's appearing in the ParsedSource.
Match the change in GHC.
|
| | |
|
|\ \
| | |
| | | |
Logger refactoring
|
| |/ |
|
|\| |
|
| |\ |
|
| | |\ |
|
| | | | |
|
| | |/ |
|
| | | |
|
| |\| |
|
| | |\
| | | |
| | | | |
Add `NoGhcTc` instance now that it's not closed
|
| | | | |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the introduction of GHC2021, the `Languages` data type in GHC will
grow. In preparation of that (and to avoid changing haddock with each
new language), this change makes the code handle extensions to that data
type gracefully.
(cherry picked from commit c341dd7c9c3fc5ebc83a2d577c5a726f3eb152a5)
|
| | |\
| | | |
| | | | |
Fix after binder collect changes
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I found that when running as a plugin the lookupName function (which
runs in Ghc monad) does not work correctly from the
typeCheckResultAction hook.
Instead, we abstracted the monad used when creating interfaces, so
that access to GHC session specific parts is explicit and so that the
TcM can provide their (correct) implementation of lookupName.
|