aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test/ref
Commit message (Collapse)AuthorAgeFilesLines
* Add a regression test for #1091Alec Theriault2019-10-071-0/+34
| | | | Previously, this input would crash Haddock.
* Fix some Hyperlinker test suite falloutAlec Theriault2019-02-0210-162/+162
| | | | | | | | | | | * Amend `ParserSpec` to match new Hyperlinker API - pass in compiler info - strip out null tokens * Make `hypsrc-test` pass reliably - strip out `local-*` ids - strip out `line-*` ids from the `ClangCppBug` test - re-accept output
* Use `.hie` files for the Hyperlinker backend (#977)Alec Theriault2019-01-3112-4463/+8577
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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
* Improve hyperlinker's 'spanToNewline' (#846)Alec Theriault2018-06-131-0/+216
| | | | | | | | | | | | | | | | 'spanToNewline' is used to help break apart the source into lines which can then be partioned into CPP and non-CPP chunks. It is important that 'spanToNewline' not break apart tokens, so it needs to properly handle things like * block comments, possibly nested * string literals, possibly multi-line * CPP macros, possibly multi-line String literals in particular were not being properly handled. The fix is to to fall back in 'Text.Read.lex' to help lex things that are not comments. Fixes #837.
* Hyperlinker: Links for TyOps, class methods and associated typesalexbiehl2018-03-051-10/+30
|
* Use the GHC lexer for the Hyperlinker backend (#714)Alec Theriault2018-02-011-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start changing to use GHC lexer * better cpp * Change SrcSpan to RealSrcSpan * Remove error * Try to stop too many open files * wip * wip * Revert "wip" This reverts commit b605510a195f26315e3d8ca90e6d95a6737553e1. Conflicts: haddock-api/haddock-api.cabal haddock-api/src/Haddock/Interface.hs * Remove pointless 'caching' * Use dlist rather than lists when finding vars * Use a map rather than list * Delete bogus comment * Rebase followup Things now run using the GHC lexer. There are still - stray debug statements - unnecessary changes w.r.t. master * Cleaned up differences w.r.t. current Haddock HEAD Things are looking good. quasiquotes in particular look beautiful: the TH ones (with Haskell source inside) colour/link their contents too! Haven't yet begun to check for possible performance problems. * Support CPP and top-level pragmas The support for these is hackier - but no more hacky than the existing support. * Tests pass, CPP is better recognized The tests were in some cases altered: I consider the new output to be more correct than the old one.... * Fix shrinking of source without tabs in test * Replace 'Position'/'Span' with GHC counterparts Replaces 'Position' -> 'GHC.RealSrcLoc' and 'Span' -> 'GHC.RealSrcSpan'. * Nits * Forgot entry in .cabal * Update changelog
* hypsrc-test: Accept test outputBen Gamari2016-02-088-377/+2370
| | | | And fix impredicative Polymorphism testcase.
* Re-accept test cases after adding line anchors for each of them.Łukasz Hanuszczak2015-08-027-1011/+1673
|
* Delete trailing whitespaceMateusz Kowalczyk2015-07-071-1/+1
|
* Create hyperlinker test case for type classes.Łukasz Hanuszczak2015-07-021-0/+931
|
* Fix broken tests for parsing and hyperlinking hash operators.Łukasz Hanuszczak2015-07-021-0/+122
|
* Add hyperlinker test case for checking type and type family declarations.Łukasz Hanuszczak2015-07-021-0/+937
|
* Add qualified name test for identifiers hyperlinking test case.Łukasz Hanuszczak2015-07-011-0/+45
|
* Add record wildcards test for records hyperlinking test case.Łukasz Hanuszczak2015-07-011-0/+241
|
* Create test case for hyperlinking @-patterns.Łukasz Hanuszczak2015-07-011-0/+298
|
* Re-accept hyperlinker test cases with local references stripped out.Łukasz Hanuszczak2015-07-015-160/+160
|
* Add reference files for hyperlinker test cases.Łukasz Hanuszczak2015-06-305-0/+3019