aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Backends
Commit message (Collapse)AuthorAgeFilesLines
* Clean up build and testsuite for GHC 9.4Ben Gamari2022-08-051-2/+0
|
* Merge remote-tracking branch 'origin/ghc-9.4'Ben Gamari2022-08-055-58/+77
|\
| * Fix hyperlinks to external items and modules (#1482)Jade Lovelace2022-07-291-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ``` (cherry picked from commit ab53ccf089ea703b767581ac14be0f6c78a7678a)
| * Merge remote-tracking branch 'upstream/ghc-9.2' into ghc-headBen Gamari2022-04-251-1/+0
| |\
| * | Add support for \cases Jakob Brünker2022-04-011-0/+1
| | | | | | | | | See merge request ghc/ghc!7873
| * | Keep track of promotion ticks in HsOpTysheaf2022-04-013-12/+16
| | | | | | | | | | | | | | | Keeping track of promotion ticks in HsOpTy allows us to properly pretty-print promoted constructors such as lists.
| * | Merge branch 'wip/opaque_pragma' into 'ghc-head'Matthew Pickering2022-03-241-0/+2
| |\ \ | | | | | | | | | | | | | | | | Add Haddock support for the OPAQUE pragma See merge request ghc/haddock!2
| | * | Add Haddock support for the OPAQUE pragmaChristiaan Baaij2022-03-161-0/+2
| | | |
| * | | Minimum changes needed for compilation with hi-haddockMatthew Pickering2022-03-221-4/+1
| |/ / | | | | | | | | | | | | | | | With hi-haddock, of course there is a much large refactoring of haddock which could be achieved but that is left for a future patch which can implemented at any time independently of GHC.
| * | Enable Haddock tests in GHC windows CI (#1428)wz10002021-10-111-2/+10
| | | | | | | | | | | | | | | | | | | | | * testsuite: strip windows line endings for haddock * hyperlinker: Work around double escaping (#19236) * deterministic SCC
| * | coot/multiple package (ghc-head) (#1419)Marcin Szamotulski2021-08-163-39/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * FromJSON class Aeson style FromJSON class with Parsec based json parser. * doc-index.json file for multiple packages When creating haddock summary page for multiple packages render doc-index.json file using contents of all found 'doc-index.json' files. * Render doc-index.json When rendering html, render doc-index.json file independently of maybe_index_url option. doc-index.json file is useful now even if maybe_index_url is not `Nothing`. * base url option New `Flag_BaseURL` which configures from where static files are loaded (--base-url). If given and not equal "." static files are not coppied, as this indicates that they are not read from the the directory where we'd copy them. The default value is ".".
| * | Rename getErrorMessages Lexer importAlfredo Di Napoli2021-07-051-2/+2
| | | | | | | | | | | | | | | | | | This commit renames the Lexer import in `Hyperlinker.Parser` from `getErrorMessages` to `getPsErrorMessages` to eliminate the ambiguity with the `getErrorMessages` function defined in `GHC.Types.Error`.
| * | Fix mkParserOpts (#1411)Sylvain Henry2021-06-282-5/+4
| | |
| * | HsToken in FunTy, RecConGADTVladislav Zavialov2021-06-103-9/+9
| | |
| * | Adapt Haddock to Logger and Parser changes (#1399)Sylvain Henry2021-06-011-0/+3
| | |
| * | Revert "Add Haddock support for the OPAQUE pragma (#1380)"Ben Gamari2021-05-241-2/+0
| | | | | | | | | | | | | | | | | | This reverts commit a1337c599ef7720b0482a25c55f11794112496dc. The GHC patch associated with this change is not yet ready to be merged.
| * | Merge pull request #1394 from adinapoli/wip/adinapoli-align-ps-messagesBen Gamari2021-05-241-3/+5
| |\ \ | | | | | | | | Align Haddock to use the new Parser diagnostics interface
| | * | New Parser diagnostics interfaceAlfredo Di Napoli2021-05-241-3/+5
| | | |
| * | | Merge commit '3b6a8774bdb543dad59b2618458b07feab8a55e9' into ghc-headBen Gamari2021-05-213-21/+24
| |\| |
| | * | FieldOcc: rename extFieldOcc to foExtShayne Fletcher2021-05-223-7/+7
| | | |
| | * | Remove Maybe from HsQualTyAlan Zimmerman2021-05-203-14/+17
| | | | | | | | | | | | | | | | Match changes in GHC for #19845
| * | | Add Haddock support for the OPAQUE pragma (#1380)Christiaan Baaij2021-05-131-0/+2
| |/ /
| * | pprError changed name in GHCAlfredo Di Napoli2021-03-291-2/+2
| | |
| * | Fix after NameCache changesSylvain Henry2021-03-221-5/+4
| | |
* | | Follow hlint suggestion: redundant $. (#1505)Phil de Joux2022-07-243-3/+3
| | | | | | | | | | | | | | | * Follow hlint suggestion: redundant $. * Remove $ and surplus blank lines in Operators.
* | | Fix #783 Don't show button if --quickjump not presentMike Pilgrem2022-06-121-14/+37
| | |
* | | Render module tree per package in the content page (#1492)Marcin Szamotulski2022-06-072-27/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | Check if doc-index.json exists before reading it (#1488)Marcin Szamotulski2022-05-241-4/+9
| | |
* | | Fix hyperlinks to external items and modules (#1482)Jade Lovelace2022-05-071-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (#1407)Ben Simms2022-05-033-4/+7
| | | | | | | | | | | | | | | * Keep track of ordered list indexes and render them * Rename some identifiers to clarify
* | | Follow hlint, remove language pragmas in libs. (#1478)Phil de Joux2022-05-031-1/+0
| | |
* | | Remove unused imports that GHC warned about. (#1480)Phil de Joux2022-05-031-1/+0
| | |
* | | spelling errors (#1471)askeblad2022-04-063-4/+4
| | |
* | | typos (#1464)askeblad2022-03-163-3/+3
| |/ |/|
* | fix CI for 9.2 (#1436)Artem Pelenitsyn2021-11-271-1/+0
| |
* | coot/multiple packages (ghc-9.2) (#1418)Marcin Szamotulski2021-08-083-39/+116
|/
* Match changes in GHC AST for in-tree API AnnotationsAlan Zimmerman2021-03-158-78/+85
| | | | As landed via https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2418
* Add ITproj to parserShayne Fletcher2021-03-061-0/+1
|
* Context becomes a Maybe in the GHC ASTAlan Zimmerman2021-02-223-19/+23
| | | | | | This prevents noLoc's appearing in the ParsedSource. Match the change in GHC.
* Fix to build with HEADSylvain Henry2021-02-091-1/+2
|
* Merge branch 'ghc-head' into ghc-9.0alexbiehl-gc2021-02-077-170/+239
|\
| * Merge commit '41964cb2fd54b5a10f8c0f28147015b7d5ad2c02' into wip/ghc-head-mergeBen Gamari2021-02-062-0/+2
| |\
| | * Merge commit 'a917dfd29f3103b69378138477514cbfa38558a9' into ghc-headVladislav Zavialov2021-02-051-2/+2
| | |\
| | | * Rename pprLogErrMsg to new nameAlfredo Di Napoli2021-02-011-2/+2
| | | |
| | * | type level characters support for haddock (required for #11342)Daniel Rogozin2021-02-052-0/+2
| | |/
| * | Merge remote-tracking branch 'origin/ghc-head' into wip/ghc-head-mergeBen Gamari2021-02-062-6/+3
| |\|
| | * Make haddock more robust to changes to the `Language` data typeJoachim Breitner2021-01-221-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| | * Abstract Monad for interface creationAlex Biehl2021-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1311-250/+324
| |\ \ | | |/ | |/|
| * | Inline and fix getGADTConTypeGVladislav Zavialov2020-12-291-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.