| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Backport #1238 (linear types) to ghc-9.0
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously we were ignoring multiplicity and displayed
a %1 -> b as a -> b.
(cherry picked from commit b4b4d896d2d68d6c48e7db7bfe95c185ca0709cb)
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Support a markdown-style way of annotating module references. For instance
-- | [label]("Module.Name#anchor")
will create a link that points to the same place as the module
reference "Module.Name#anchor" but the text displayed on the link will
be "label".
|
| | | |
|
| |/
|/| |
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | | |
See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469
|
| | |
| | |
| | |
| | |
| | | |
because they will be soon be added to -Wall.
See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix multiple typos and inconsistencies in doc/markup.rst
Note: I noticed some overlap with #1112 from @wygulmage and #1081 from
@parsonsmatt after creating these proposed changes - mea culpa for not
looking at the open PRs sooner.
* Fix #1113 If no Signatures, no section of index.html
* Change the formatting of missing link destinations
The current formatting of the missing link destination does not really
help user to understand the reasons of the missing link.
To address this, I've changed the formatting in two ways:
- the missing link symbol name is now fully qualified. This way you
immediately know which haskell module cannot be linked. It is then easier
to understand why this module does not have documentation (hidden module
or broken documentation).
- one line per missing link, that's more readable now that symbol name
can be longer due to qualification.
For example, before haddock was listing missing symbol such as:
```
could not find link destinations for:
Word8 Word16 mapMaybe
```
Now it is listed as:
```
could not find link destinations for:
- Data.Word.Word8
- Data.Word.Word16
- Data.Maybe.mapMaybe
```
* Add `--ignore-link-symbol` command line argument
This argument can be used multiples time. A missing link to a symbol
listed by `--ignore-link-symbol` won't trigger "missing link" warning.
* Forbid spaces in anchors (#1148)
* Improve error messages with context information (#1060)
Co-authored-by: Matt Audesse <matt@mattaudesse.com>
Co-authored-by: Mike Pilgrem <mpilgrem@users.noreply.github.com>
Co-authored-by: Guillaume Bouchard <guillaume.bouchard@tweag.io>
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows to have stable anchors for groups, even if the set of
groups in the documentation is altered.
The syntax for setting the anchor of a group is
-- * Group name #desiredAnchor#
Which will produce an html anchor of the form '#g:desiredAnchor'
Co-authored-by: Iñaki García Etxebarria <git@inaki.blueleaf.cc>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is quite straightforward to implement, since we already had a
function `docToHtmlNoAnchors` (which we used to generate the link in the
sidebar "Contents").
This breaks test `Bug387`, but that test case has aged badly: we now
automatically generate anchors for all headings, so manually adding an
anchor in a section makes no sense. Nested anchors are, as pointed out
in #1054, disallowed by the HTML standard.
Fixes #1054
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* `unL` is already defined by GHC as `unLoc`
* `reL` is already defined by GHC as `noLoc` (in a safer way too!)
* Condense `setOutputDir` and add a about exporting from GHC
Fixes #978
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
None of these error cases should ever have been reachable, so this is
just a matter of leveraging the type system to assert this.
* Use the `NoExtCon` and `noExtCon` to handle case matches for no
extension constructors, instead of throwing an `error`.
* Use the extension field of `HsSpliceTy` to ensure that this variant
of `HsType` cannot exist in an `HsType DocNameI`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* removed functions in `Haddock.Utils` that were not used anywhere
(or exported from the `haddock-api` package)
* moved GHC-specific utils from `Haddock.Utils` to `Haddock.GhcUtils`
|