|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| |\  
| | 
| | | html-test: Always set language | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | from ghc-9.2 on, the “default” langauge of GHC is expected to change
more wildly. To prepare for that (and unblock
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4853), this sets the
language for all the test files to `Haskell2010`. This should insolate
this test suite against changes to the default.
Cherry-picked from https://github.com/haskell/haddock/pull/1341 | 
| |/ |  | 
| |\ |  | 
| | | |  | 
| |\ \  
| |/  
|/| |  | 
| | |\ |  | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | 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> | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | Sometimes, the declaration being exported is a subdecl (for instance, a
record accessor getting exported at the top-level). For these cases,
Haddock has to find a way to produce some synthetic sensible top-level
declaration. This is done with `extractDecl`.
As is shown by #1067, this is sometimes impossible to do just at a
syntactic level (for instance when the subdecl is re-exported). In these
cases, the only sensible thing to do is to try to reify a declaration
based on a GHC `TyThing` via `hiDecl`. | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | This makes the `synifyType` case for `AppTy` more intelligent by
taking into consideration the visibilities of each `AppTy` argument
and filtering out any invisible arguments, as they aren't intended
to be displayed in the source code. (See #1050 for an example of what
can happen if you fail to filter these out.)
Along the way, I noticed that a special `synifyType` case for
`AppTy t1 (CoercionTy {})` could be consolidated with the case below
it, so I took the opportunity to tidy this up. | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | 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 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | This a GHC bug (https://gitlab.haskell.org/ghc/ghc/issues/14109) too,
but it is a relatively easy fix in Haddock. Note that the fix must live
in `haddock-api` instead of `haddock-library` because we can only really
decide if an identifier is a reserved one by asking the GHC lexer.
Fixes #952 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Update parsing to strip leading & trailing whitespace from table cells
* Update fixture data to disallow whitespaces at both ends in table cells
* Add test case for whitespaces stripped from both ends of table cells
* Update table reference test data for html tests | 
| | | |\ |  | 
| | | | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | This fixes #1103 by adapting the corresponding patch for GHC (see
https://gitlab.haskell.org/ghc/ghc/issues/17296 and
https://gitlab.haskell.org/ghc/ghc/merge_requests/1877). | 
| | | | | 
| | | | 
| | | | | The `ignore-exports` option has been broken since #688, as mentioned in https://github.com/haskell/haddock/pull/766#issue-172505043. This PR fixes it. | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | When possible, associated types with promoted lists should use the
promoted list literal syntax (instead of repeated applications of
': and '[]). This was fixed in 2122de5473fd5b434af690ff9ccb1a2e58491f8c.
Closes #466, | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | The only other change in html/hoogle/hyperlinker output for the boot
libraries that this caused is a fix to some Hoogle output for implicit
params.
```
$ diff -r _build/docs/ old_docs
diff -r _build/docs/html/libraries/base/base.txt old_docs/html/libraries/base/base.txt
13296c13296
< assertError :: (?callStack :: CallStack) => Bool -> a -> a
---
> assertError :: ?callStack :: CallStack => Bool -> a -> a
``` | 
| | | | | 
| | | | 
| | | | 
| | | | | `fail` is no longer part of `Monad`. | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | * default methods now get rendered differently
  * default associated types get rendered
  * fix a forgotten `s/TypeSig/ClassOpSig/` refactor in LaTeX backend
  * LaTeX backend now renders default method signatures
NB: there is still no way to document default class members and the
NB: LaTeX backend still crashes on associated types | 
| | | | |\ |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | Docs on standalone deriving decls for classes with associated types
should be associated with the class instance, not the associated type
instance.
Fixes #1033 | 
| | | | | | |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | The information about whether or not there is a source-level `forall`
is already available on a `ConDecl` (as `con_forall`), so we should use
it instead of always assuming `False`!
Fixes #1002. | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | * don't forget to print explicit `forall`'s when there are arg docs
 * when printing an explicit `forall`, print all tyvars
Fixes #973 | 
| | | | | | |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | This avoids a situation in which an identifier would get defaulted to
a completely different identifier. Prior to this commit, the 'Bug1035'
test case would hyperlink 'Foo' into 'Bar'!
Fixes #1035. | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | * '(<|>)' and '`elem`' now get parsed and rendered properly as links
  * 'DbModule'/'DbUnitId' now properly get split apart into two links
  * tuple names now get parsed properly
  * some more small niceties...
The identifier parsing code is more precise and more efficient (although to be
fair: it is also longer and in its own module). On the rendering side, we need
to pipe through information about backticks/parens/neither all the way through
from renaming to the backends.
In terms of impact: a total of 35 modules in the entirety of the bootlib + ghc
lib docs change. The only "regression" is things like '\0'. These should be
changed to @\\0@ (the path by which this previously worked seems accidental). | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | Identifier links can be prefixed with a 'v' or 't' to indicate the value or
type namespace of the desired identifier. For example:
-- | Some link to a value: v'Data.Functor.Identity'
--
-- Some link to a type: t'Data.Functor.Identity'
The default is still the type (with a warning about the ambiguity) | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | Previously we were ignoring multiplicity and displayed
a %1 -> b as a -> b. | 
| | | | | | |  | 
| |/ / / /  
| | | |   
| | | |   
| | | |   
| | | | | in the follwing merge request:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3583 | 
| | | | | 
| | | | 
| | | | 
| | | | | See ghc/ghc!852. | 
| | | | | |  | 
| |/ / / |  | 
| | | | |  | 
| | | | |  | 
| |/ /  
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| | | This means that `html-test`, `latex-test`, `hoogle-test`, and
`hypsrc-test` now only depend on GHC boot libs. So we should
now be able to build and run these as part of GHC's testsuite. \o/
The reference output has changed very slightly, in three ways:
  * we don't convert quotes back into `"` as the `xml` lib did
  * we don't add extra ` ` as the `xml` lib did
  * we now remove the entire footer `div` (instead of just emptying it) | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | Now that Haddock is moving towards working entirely over `.hi` and `.hie` files,
all declarations and types are going to be synthesized via the `Convert` module.
In preparation for this change, here are a bunch of fixes to this module:
  * Add kind annotations to type variables in `forall`'s whose kind is not `Type`,
    unless the kind can be inferred from some later use of the variable. See
    `implicitForAll` and `noKindTyVars` in particular if you wish to dive into this.
  * Properly detect `HsQualTy` in `synifyType`. This is done by following suit with
    what GHC's `toIfaceTypeX` does and checking the first argument of
    `FunTy{} :: Type` to see if it classified as a given/wanted in the typechecker
    (see `isPredTy`). 
  * Beef up the logic around figuring out when an explicit `forall` is needed. This
    includes: observing if any of the type variables will need kind signatures, if the
    inferred type variable order _without_ a forall will still match the one GHC
    claims, and some other small things.
  * Add some (not yet used) functionality for default levity polymorphic type
    signatures. This functionality similar to `fprint-explicit-runtime-reps`.
Couple other smaller fixes only worth mentioning:
  * Show the family result signature only when it isn't `Type`
  * Fix rendering of implicit parameters in the LaTeX and Hoogle backends
  * Better handling of the return kind of polykinded H98 data declarations
  * Class decls produced by `tyThingToLHsDecl` now contain associated type
    defaults and default method signatures when appropriate
  * Filter out more `forall`'s in pattern synonyms | 
| | | 
| | 
| | 
| | | Since 53874834b779ad0dfbcde6650069c37926da1b79 in GHC, "GHC.Maybe"
is marked as `not-home`. That changes around some test output. | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | * Synify and render properly promoted type variables
Fixes #923.
* Accept output | 
| |\| |  | 
| | |\ |  | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | Correspondingly, we wrap all inline/diplay math in
    <span class="mathjax"> ... the math .... </span>
This fixes #959. | 
| | | | |  | 
| | | | |  | 
| | | | |  | 
| | |\| |  | 
| | | | 
| | | 
| | | 
| | | 
| | | | This fixes #953 by passing more names into the generated ids. |