aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Interface
Commit message (Collapse)AuthorAgeFilesLines
* Stable sort for (data/newtype) instancesalexbiehl2021-02-111-8/+17
|
* Fix partial record selector warningBen Gamari2021-02-061-3/+3
|
* Merge remote-tracking branch 'origin/ghc-head' into wip/ghc-head-mergeBen Gamari2021-02-062-250/+351
|\
| * Merge pull request #1273 from hsyl20/wip/hsyl20/arrowsHécate Moonlight2021-01-141-1/+1
| |\ | | | | | | Fix after binder collect changes
| | * Fix after binder collect changesSylvain Henry2020-12-211-1/+1
| | |
| * | Abstract Monad for interface creationAlex Biehl2021-01-093-200/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Prepare Haddock for being a GHC PluginAlex Biehl2021-01-091-32/+215
| | |
* | | Merge remote-tracking branch 'origin/ghc-9.0' into ghc-headBen Gamari2021-01-137-202/+504
|\ \ \ | |/ / |/| |
| * | Merge remote-tracking branch 'origin/ghc-8.10' into ghc-9.0Ben Gamari2021-01-057-224/+516
| |\ \
| | * | Import intercalatealexbiehl2020-12-081-0/+1
| | | |
| | * | Enable two warnings (#1245)tomjaguarpaw2020-12-083-0/+4
| | | | | | | | | | | | | | | | | | | | because they will be soon be added to -Wall. See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
| | * | Add dangling changes from branches ghc-8.6 and ghc-8.8 (#1243)Xia Li-yao2020-12-082-13/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| | * | Fallback to `hiDecl` when `extractDecl` failsAlec Theriault2020-04-211-45/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
| | * | Don't warn about missing links in miminal sigsAlec Theriault2020-04-152-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When renaming the Haddock interface, never emit warnings when renaming a minimal signature. Also added some documention around `renameInterface`. Minimal signatures intentionally include references to potentially un-exported methods (see the discussion in #330), so it is expected that they will not always have a link destination. On the principle that warnings should always be resolvable, this shouldn't produce a warning. See #1070.
| | * | Prune docstrings that are never renderedAlec Theriault2020-04-151-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When first creating a Haddock interface, trim `ifaceDocMap` and `ifaceArgMap` to not include docstrings that can never appear in the final output. Besides checking with GHC which names are exported, we also need to keep all the docs attached to instance declarations (it is much tougher to detect when an instance is fully private). This change means: * slightly smaller interface files (7% reduction on boot libs) * slightly less work to do processing docstrings that aren't used * no warnings in Haddock's output about private docstrings (see #1070) I've tested manually that this does not affect any of the boot library generated docs (the only change in output was some small re-ordering in a handful of instance lists). This should mean no docstrings have been incorrectly dropped.
| | * | Recode Doc to Json. (#1159)Ignat Insarov2020-04-091-5/+162
| | | | | | | | | | | | | | | | | | | | * Recode Doc to Json. * More descriptive field labels.
| | * | Cleanup up GHC flags in `.cabal` filesAlec Theriault2020-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * enable more useful warning flags in `haddock-api`, handle the new warnings generated * remove `-fwarn-tabs` (now we'd use `-Wtabs`, but this has been in `-Wall` for a while now)
| | * | Use `unLoc`/`noLoc` from GHC instead of `unL`/`reL`Alec Theriault2020-03-281-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `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
| | * | Use TTG empty extensions to remove some `error`'sAlec Theriault2020-03-282-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
| | * | Clean up warningsAlec Theriault2020-03-224-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | * unused imports * imports of `Data.List` without import lists * missing `CompatPrelude` file in `.cabal`
| | * | Merge branch 'ghc-8.8' into ghc-8.10Alec Theriault2020-03-205-138/+213
| | |\ \
| | | * | Fix the ignore-exports option (#1082)Alexis King2019-09-301-4/+5
| | | | | | | | | | | | | | | 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.
| | | * | Comment C, which clarifies why e.g. ReadP is not enoughOleg Grenrus2019-05-131-0/+7
| | | | |
| | | * | Redo ParseModuleHeaderOleg Grenrus2019-05-131-93/+125
| | | | |
| | | * | Matching changes in GHC for #16236Alan Zimmerman2019-03-292-5/+5
| | | | | | | | | | | | | | | | | | | | (cherry picked from commit 3ee6526d4ae7bf4deb7cd1caf24b3d7355573576)
| | | * | Merge branch 'ghc-8.6' into ghc-8.8Alec Theriault2019-03-031-2/+2
| | | |\ \
| | | | * | Fix standalone deriving docsAlec Theriault2019-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Docs on standalone deriving decls for classes with associated types should be associated with the class instance, not the associated type instance. Fixes #1033
| | | * | | Fix bogus identifier defaultingAlec Theriault2019-02-261-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | | Better identifier parsingAlec Theriault2019-02-253-28/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '(<|>)' 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).
| | | * | | Support value/type namespaces on identifier linksAlec Theriault2019-02-252-15/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | | Match GHC, adding IsUnicodeSyntax field to HsFunTy and HsScaledAlan Zimmerman2020-10-213-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit a7d1d8e034d25612d5d08ed8fdbf6f472aded4a1)
* | | | | | Adapt to changes to GlobalRdrElt and AvailInfoAdam Gundry2020-12-232-12/+4
| |_|_|_|/ |/| | | | | | | | | | | | | | Needed for ghc/ghc!4467
* | | | | Enable two warnings (#1245) (#1268)tomjaguarpaw2020-12-193-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because they will be soon be added to -Wall. See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
* | | | | Adapt to HsCoreTy (formerly NewHsTypeX) becoming a type synonymRyan Scott2020-12-162-2/+2
| | | | | | | | | | | | | | | | | | | | Needed for !4417, the fix for GHC#15706 and GHC#18914.
* | | | | Revert "Enable two warnings (#1245) (#1268)"Ben Gamari2020-12-153-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As this does not build on GHC `master`. This reverts commit 7936692badfe38f23ae95b51fb7bd7c2ff7e9bce.
* | | | | Enable two warnings (#1245) (#1268)tomjaguarpaw2020-12-103-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | because they will be soon be added to -Wall. See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
* | | | | DynFlags's unit fields moved to HscEnvSylvain Henry2020-11-301-4/+5
| | | | |
* | | | | Add type arguments to PrefixConCale Gibbard2020-11-252-2/+2
| | | | |
* | | | | Adapt to HsOuterTyVarBndrsRyan Scott2020-10-303-69/+87
| | | | | | | | | | | | | | | | | | | | | | | | | These changes accompany ghc/ghc!4107, which aims to be a fix for #16762.
* | | | | Adapt to HsConDecl{H98,GADT}Details splitRyan Scott2020-10-302-17/+27
| | | | | | | | | | | | | | | | | | | | Needed for GHC#18844.
* | | | | Adapt to the removal of Hs{Boxed,Constraint}TupleRyan Scott2020-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | See ghc/ghc!4097 and GHC#18723.
* | | | | GHC.Driver.Types refactoring (#1242)Sylvain Henry2020-10-262-3/+7
| | | | |
* | | | | Match GHC, adding IsUnicodeSyntax field to HsFunTy and HsScaledAlan Zimmerman2020-10-193-7/+9
| | | | |
* | | | | Remove Ord FastString instanceSylvain Henry2020-08-171-5/+11
| | | | |
* | | | | Fix after Outputable refactoringSylvain Henry2020-08-052-4/+6
| | | | |
* | | | | Update for modular ping pongZubin Duggal2020-07-234-17/+17
|/ / / /
* | | | Use functions exported from HsToCoreZubin Duggal2020-06-213-183/+3
| | | |
* | | | Adapt Haddock to LinearTypesKrzysztof Gogolewski2020-06-174-20/+39
| | | | | | | | | | | | | | | | See ghc/ghc!852.
* | | | Use HsForAllTelescope (GHC#18235)Ryan Scott2020-06-133-11/+32
| | | |
* | | | Fix after unit refactoringSylvain Henry2020-06-081-12/+11
| | | |