| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Also handling odir now
|
| |
|
|
|
|
| |
Also fixed the familydecl a bit
|
|
|
|
|
|
| |
- license
- cabal
- readme
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
As landed via https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2418
|
| |
|
|
|
|
|
|
| |
This prevents noLoc's appearing in the ParsedSource.
Match the change in GHC.
|
| |
|
|\ |
|
| |\ |
|
| | |\ |
|
| | | | |
|
| | |/ |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The getGADTConTypeG used HsRecTy, which is at odds with GHC issue #18782.
I noticed that getGADTConTypeG was only used in the Hoogle backend.
Interestingly, when handling H98 constructors, Hoogle converts RecCon to
PrefixCon (see Haddock.Backends.Hoogle.ppCtor).
So I changed getGADTConTypeG to handle RecConGADT in the same manner as
PrefixConGADT, and after this simplification moved it into the 'where'
clause of ppCtor, to the only place where it is used.
The practical effect of this change is as follows.
Consider this example:
data TestH98 = T98 { bar::Int }
data TestGADT where
TG :: { foo :: Int } -> TestGADT
Before this patch, haddock --hoogle used to produce:
T98 :: Int -> TestH98
[TG] :: {foo :: Int} -> TestGADT
Notice how the record syntax was discarded in T98 but not TG.
With this patch, we always produce signatures without record syntax:
T98 :: Int -> TestH98
[TG] :: Int -> TestGADT
I suspect this might also be a bugfix, as currently Hoogle doesn't seem
to render GADT record constructors properly.
|
| | |
| | |
| | |
| | |
| | |
| | | |
because they will be soon be added to -Wall.
See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
|
| | |
| | |
| | |
| | | |
Needed for !4417, the fix for GHC#15706 and GHC#18914.
|
| | |
| | |
| | |
| | | |
Previously we were ignoring multiplicity and displayed
a %1 -> b as a -> b.
|
| | |
| | |
| | |
| | |
| | |
| | | |
As this does not build on GHC `master`.
This reverts commit 7936692badfe38f23ae95b51fb7bd7c2ff7e9bce.
|
| | |
| | |
| | |
| | |
| | | |
because they will be soon be added to -Wall.
See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
|
| |\ \
| | | |
| | | | |
Update for changes in GHC's Pretty
|
| | | | |
|
| | | | |
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
These changes accompany ghc/ghc!4107, which aims to be a fix
for #16762.
|
| | |
| | |
| | |
| | | |
Needed for GHC#18844.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|