aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Types.hs
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/ghc-9.4'Ben Gamari2022-08-051-16/+19
|\
| * Link to (~)Vladislav Zavialov2022-03-141-0/+1
| |
| * Fix CollectPass instance to match TTG refactorJohn Ericson2022-03-111-1/+3
| | | | | | | | Companion to GHC !7614 (https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7614)
| * Update after NoExtCon -> DataConCantHappen renameKrzysztof Gogolewski2021-11-271-12/+12
| |
| * Update for changes in GHC for branchAlan Zimmerman2021-10-281-4/+4
| | | | | | | | wip/az/no-srcspan-anno-instances
| * Update for EPA changes in GHCAlan Zimmerman2021-05-111-22/+22
| |
| * Revert "Removal of HsVersions.h (#1388)"Hécate Moonlight2021-05-111-22/+22
| | | | | | | | This reverts commit 72118896464f94d81f10c52f5d9261efcacc57a6.
| * Removal of HsVersions.h (#1388)Sylvain Henry2021-05-111-22/+22
| | | | | | | | | | | | | | * Update for EPA changes in GHC * Account for HsVersions.h removal Co-authored-by: Alan Zimmerman <alan.zimm@gmail.com>
| * EPA : Rename ApiAnn to EpAnnAlan Zimmerman2021-03-291-25/+22
| |
* | Follow hlint, remove language pragmas in libs. (#1478)Phil de Joux2022-05-031-1/+1
| |
* | spelling errors (#1471)askeblad2022-04-061-1/+1
| |
* | Update for EPA changes in GHCAlan Zimmerman2021-04-191-22/+22
| | | | | | | | (cherry picked from commit cafb48118f7c111020663776845897e225607b41)
* | EPA : Rename ApiAnn to EpAnnAlan Zimmerman2021-03-291-25/+22
|/
* Match changes in GHC AST for in-tree API AnnotationsAlan Zimmerman2021-03-151-31/+75
| | | | As landed via https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2418
* Merge branch 'ghc-head' into ghc-9.0alexbiehl-gc2021-02-071-57/+42
|\
| * Merge remote-tracking branch 'origin/ghc-head' into wip/ghc-head-mergeBen Gamari2021-02-061-51/+24
| |\
| | * Add `NoGhcTc` instance now that it's not closedJohn Ericson2021-01-221-0/+2
| | |
| | * 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-091-45/+22
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Merge remote-tracking branch 'origin/ghc-9.0' into ghc-headBen Gamari2021-01-131-7/+55
| |\ \ | | |/ | |/|
| * | Adapt to HsCoreTy (formerly NewHsTypeX) becoming a type synonymRyan Scott2020-12-161-1/+1
| | | | | | | | | | | | Needed for !4417, the fix for GHC#15706 and GHC#18914.
| * | Adapt to HsOuterTyVarBndrsRyan Scott2020-10-301-3/+8
| | | | | | | | | | | | | | | These changes accompany ghc/ghc!4107, which aims to be a fix for #16762.
| * | GHC.Driver.Types refactoring (#1242)Sylvain Henry2020-10-261-1/+2
| | |
| * | Update for modular ping pongZubin Duggal2020-07-231-1/+7
| | |
* | | Add support for labeled module referencesIñaki García Etxebarria2021-02-071-0/+3
| |/ |/| | | | | | | | | | | | | | | | | 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".
* | Merge remote-tracking branch 'origin/ghc-8.10' into ghc-9.0Ben Gamari2021-01-051-7/+55
|\ \ | |/ |/|
| * Changes for GHC#17566Alex Biehl2020-12-081-0/+1
| | | | | | | | See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469
| * Add dangling changes from branches ghc-8.6 and ghc-8.8 (#1243)Xia Li-yao2020-12-081-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Use TTG empty extensions to remove some `error`'sAlec Theriault2020-03-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | 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`.
| * Merge branch 'ghc-8.8' into ghc-8.10Alec Theriault2020-03-201-4/+33
| |\
| | * Better support for default methods in classesAlec Theriault2019-03-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| | * Better identifier parsingAlec Theriault2019-02-251-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '(<|>)' 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-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | Define `XRec` for location information and get rid of `HasSrcSpan`Sebastian Graf2019-11-011-16/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | In https://gitlab.haskell.org/ghc/ghc/merge_requests/1970 I propose a simpler way to encode location information into the GHC and Haddock AST while incurring no cost for e.g. TH which doesn't need location information. These are just changes that have to happen in lock step.
* | | Use HsForAllTelescope (GHC#18235)Ryan Scott2020-06-131-0/+4
| | |
* | | Explicit Specificity Support for HaddockGert-Jan Bottu2020-05-201-3/+3
| | |
* | | Module structureSylvain Henry2020-04-241-1/+1
| | |
* | | Rename XCollectPat -> CollectPassCale Gibbard2020-04-141-2/+2
| | |
* | | Add instance of XCollectPat for DocNameICale Gibbard2020-04-141-0/+2
| | |
* | | Make NoExtCon fields strictRyan Scott2020-04-071-2/+1
| | | | | | | | | | | | | | | These changes are a part of a fix for [GHC#17992](https://gitlab.haskell.org/ghc/ghc/issues/17992).
* | | Modules: TypesSylvain Henry2020-03-201-2/+2
| | |
* | | Use RealSrcSpan in InstMapVladislav Zavialov2020-02-221-1/+1
| | |
* | | Modules: Driver (#13009)Sylvain Henry2020-02-191-1/+1
| | |
* | | Changes for GHC#17566Ryan Scott2020-01-251-0/+1
| | | | | | | | | | | | See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469
* | | Define `XRec` for location information and get rid of `HasSrcSpan`Sebastian Graf2019-11-041-16/+3
|/ / | | | | | | | | | | | | | | | | In https://gitlab.haskell.org/ghc/ghc/merge_requests/1970 I propose a simpler way to encode location information into the GHC and Haddock AST while incurring no cost for e.g. TH which doesn't need location information. These are just changes that have to happen in lock step.
* | Refactor for OutputableBndrId changesSebastian Graf2019-10-251-2/+2
| |
* | Changes for #15247Ryan Scott2019-07-031-73/+79
| |
* | Changes for #16110/#16356Ryan Scott2019-05-141-1/+1
|/
* Use `.hie` files for the Hyperlinker backend (#977)Alec Theriault2019-01-311-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Summary This is a large architectural change to the Hyperlinker. * extract link (and now also type) information from `.hie` instead of doing ad-hoc SYB traversals of the `RenamedSource`. Also adds a superb type-on-hover feature (#715). * re-engineer the lexer to avoid needless string conversions. By going directly through GHC's `P` monad and taking bytestring slices, we avoid a ton of allocation and have better handling of position pragmas and CPP. In terms of performance, the Haddock side of things has gotten _much_ more efficient. Unfortunately, much of this is cancelled out by the increased GHC workload for generating `.hie` files. For the full set of boot libs (including `ghc`-the-library) * the sum of total time went down by 9-10% overall * the sum of total allocations went down by 6-7% # Motivation Haddock is moving towards working entirely over `.hi` and `.hie` files. This change means we no longer need the `RenamedSource` from `TypecheckedModule` (something which is _not_ in `.hi` files). # Details Along the way a bunch of things were fixed: * Cross package (and other) links are now more reliable (#496) * The lexer tries to recover from errors on every line (instead of at CPP boundaries) * `LINE`/`COLUMN` pragmas are taken into account * filter out zero length tokens before rendering * avoid recomputing the `ModuleName`-based `SrcMap` * remove the last use of `Documentation.Haddock.Utf8` (see #998) * restructure temporary folder logic for `.hi`/`.hie` model