aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock
Commit message (Collapse)AuthorAgeFilesLines
...
| * Revert "Drop Avails from export list"alexbiehl2017-08-221-1/+1
| | | | | | | | This reverts commit a850ba86d88a4fb9c0bd175453a2580e544e3def.
| * Drop Avails from export listalexbiehl2017-08-211-1/+1
| |
| * Merge remote-tracking branch 'origin/master' into ghc-headalexbiehl2017-08-2122-698/+943
| |\
| * | Adapt to #14060Ryan Scott2017-08-141-1/+1
| | |
| * | Use new function getNameToInstancesIndex instead of tcRnGetInfo (#636)Doug Wilson2017-06-211-41/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is some performance improvement. GHC compiler: | version | bytes allocated | cpu_seconds --------------------------------- | before | 56057108648 | 41.0 | after | 51592019560 | 35.1 base: | version | bytes allocated | cpu_seconds --------------------------------- | before | 25174011784 | 14.6 | after | 23712637272 | 13.1 Cabal: | version | bytes allocated | cpu_seconds --------------------------------- | before | 18754966920 | 12.6 | after | 18198208864 | 11.6
| * | Rename extension index tagsAlan Zimmerman2017-06-0510-138/+138
| | |
| * | Match new AST as per GHC wip/new-tree-one-paramAlan Zimmerman2017-06-0514-330/+329
| | | | | | | | | | | | See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
| * | Don't enable compilation for template haskell (#624)Doug Wilson2017-05-271-16/+1
| | | | | | | | | | | | This is no longer necessary after ghc commit 53c78be0aab76a3107c4dacbb1d177afacdd37fa
| * | Render (signature) only if it actually is a signature!Edward Z. Yang2017-04-221-2/+5
| | | | | | | | | | | | | | | | | | I forgot a conditional, oops! Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | Merge commit '240bc38b94ed2d0af27333b23392d03eeb615e82' into HEADBen Gamari2017-03-236-60/+34
| |\ \
| * | | Render help documentation link next to (signature) in title.Edward Z. Yang2017-03-221-1/+8
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Annotate signature docs with (signature)Edward Z. Yang2017-03-221-2/+5
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Better Backpack support with signature merging.Edward Z. Yang2017-03-151-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we merge signatures, we gain exports that don't necessarily have a source-level declaration corresponding to them. This meant Haddock dropped them. There are two big limitations: * If there's no export list, we won't report inherited signatures. * If the type has a subordinate, the current hiDecl implementation doesn't reconstitute them. These are probably worth fixing eventually, but this gets us to minimum viable functionality. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | TODO on moduleExports.Edward Z. Yang2017-03-151-1/+5
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | More docs.Edward Z. Yang2017-03-151-0/+5
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Documentation.Edward Z. Yang2017-03-151-5/+22
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Render signature module tree separately from modules.Edward Z. Yang2017-03-151-1/+16
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Add a field marking if interface is a signature or not.Edward Z. Yang2017-03-153-2/+12
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Correctly handle Backpack identity/semantic modules.Edward Z. Yang2017-03-151-23/+55
| | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * | | Adapt to EnumSetBen Gamari2017-03-151-1/+2
| | | |
| * | | Update Haddock w.r.t. new HsImplicitBndrsRichard Eisenberg2017-03-142-3/+5
| | | |
| * | | Bump for GHC 8.3Ben Gamari2017-03-091-2/+2
| | | |
* | | | Inhibit output of coverage information for hidden modules. (#687)Merijn Verstraaten2017-10-041-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | * Inhibit output of coverage information for hidden modules. * Add changelog entry.
* | | | Add compile step that bundles and compresses JS files (#684)Tim Baumann2017-09-232-31/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add compile step that bundles and compresses JS files Also, manage dependencies on third-party JS libraries using NPM. * Compile JS from TypeScript * Enable 'noImplicitAny' in TypeScript * QuickJump: use JSX syntax * Generate source maps from TypeScript for easier debugging * TypeScript: more accurate type * Separate quick jump css file from ocean theme
* | | | Write meta.json when generating html output (#676)Alexander Biehl2017-08-301-0/+22
| | | |
* | | | QuickNav: Make docbase configurableAlexander Biehl2017-08-291-1/+6
| | | |
* | | | Include subordinates in content indexalexbiehl2017-08-291-8/+11
| | | |
* | | | Load javascript below the foldalexbiehl2017-08-281-7/+7
| | | |
* | | | Content search for haddock html docalexbiehl2017-08-272-1/+15
| | | |
* | | | Generate an index for package content search (#662)Florian Eggenhofer2017-08-273-4/+284
| |_|/ |/| | | | | Generate an index for package content search
* | | Hyperlinker: Avoid linear lookup in enrichToken (#669)Alexander Biehl2017-08-192-41/+53
| | | | | | | | | | | | | | | | | | * Make Span strict in Position * Hyperlinker: Use a proper map to enrich tokens
* | | Refactoring: Make doc renaming monadicalexbiehl2017-08-162-95/+113
| | | | | | | | | | | | This allows us to later throw warnings if can't find an identifier
* | | Provide --show-interface option to dump interfaces (#645)Alexander Biehl2017-08-062-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP: Provide --show-interface option to dump interfaces Like ghcs own --show-iface this flag dumps a binary interface file to stdout in a human (and machine) readable fashion. Currently it uses json as output format. * Fill all the jsonNull stubs * Rework Bifunctor instance of DocH, update changelog and documentation * replace changelog, bring DocMarkupH doc back * Update CHANGES.md * Update CHANGES.md * Move Control.Arrow up It would result in unused import if the Bifunctor instance is not generated.
* | | Fix: Generate pattern signatures for constructors exported as patterns (#663)Tim Baumann2017-08-063-108/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix pretty-printing of pattern signatures Pattern synonyms can have up to two contexts, both having a different semantic meaning: The first holds the constraints required to perform the matching, the second contains the constraints provided by a successful pattern match. When the first context is empty but the second is not it is necessary to render the first, empty context. * Generate pattern synonym signatures for ctors exported as patterns This fixes #653. * Simplify extractPatternSyn It is not necessary to generate the simplest type signature since it will be simplified when pretty-printed. * Add changelog entries for PR #663 * Fix extractPatternSyn error message
* | | Fix renaming after instance signature specializing (#660)Moritz Drexl2017-08-051-81/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rework rename * Add regression test for Bug 613 * update tests * update changelog
* | | Move `DocMarkup` from haddock-api to haddock-library (#659)Alexander Biehl2017-07-315-96/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move `DocMarkup` from haddock-api to haddock-library * Move more markup related functions * Markup module * CHANGELOG
* | | Remove redudant import warning (#651)Alex Biehl2017-07-071-4/+5
| | |
* | | Avoid errors on non UTF-8 Windows (#566)Yuji Yamamoto2017-07-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Avoid errors on non UTF-8 Windows Problem ==== haddock exits with errors like below: `(1)` ``` haddock: internal error: <stderr>: hPutChar: invalid argument (invalid character) ``` `(2)` ``` haddock: internal error: Language\Haskell\HsColour\Anchors.hs: hGetContents: invalid argument (invalid byte sequence) ``` `(1)` is caused by printing [the "bullet" character](http://www.fileformat.info/info/unicode/char/2022/index.htm) onto stderr. For example, this warning contains it: ``` Language\Haskell\HsColour\ANSI.hs:62:10: warning: [-Wmissing-methods] • No explicit implementation for ‘toEnum’ • In the instance declaration for ‘Enum Highlight’ ``` `(2)` is caused when the input file of `readFile` contains some Unicode characters. In the case above, '⇒' is the cause. Environment ---- OS: Windows 10 haddock: 2.17.3 GHC: 8.0.1 Solution ==== Add `hSetEncoding handle utf8` to avoid the errors. Note ==== - I found the detailed causes by these changes for debugging: - https://github.com/haskell/haddock/commit/8f29edb6b02691c1cf4c479f6c6f3f922b35a55b - https://github.com/haskell/haddock/commit/1dd23bf2065a1e1f2c14d0f4abd847c906b4ecb4 - These errors happen even after executing `chcp 65001` on the console. According to the debug code, `hGetEncoding stderr` returns `CP932` regardless of the console encoding. * Avoid 'internal error: <stderr>: hPutChar: invalid argument (invalid character)' non UTF-8 Windows Better solution for 59411754a6db41d17820733c076e6a72bcdbd82b's (1)
* | | Document record fields when DuplicateRecordFields is enabled (#649)Alex Biehl2017-07-031-1/+1
| | |
* | | Fix haddock: internal error: links: UnhelpfulSpan (#561)Bartosz Nitka2017-07-022-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix haddock: internal error: links: UnhelpfulSpan This fixes #554 for me. I believe this is another fall out of `wildcard-refactor`, like #549. * Comment to clarify why we take the methods name location
* | | Make per-argument docs for class methods work again (#648)Alex Biehl2017-06-291-2/+3
| | | | | | | | | | | | | | | | | | * Make per-argument docs for class methods work again * Test case
* | | Don't include names with empty subordinates in maps (#644)Alex Biehl2017-06-231-1/+9
| | | | | | | | | These are unecessary anyway and just blow up interface size
* | | Lookup fixities for reexports without subordinates (#642)Alex Biehl2017-06-231-1/+2
| | | | | | | | | | | | | | | So we agree that reexported declarations which do not have subordinates (for example top-level functions) shouldn't have gotten fixities reexported according to the current logic. I wondered why for example Prelude.($) which is obviously reexported from GHC.Base has fixities attached (c.f. http://hackage.haskell.org/package/base-4.9.1.0/docs/Prelude.html#v:-36-). The reason is this: In mkMaps we lookup all the subordinates of top-level declarations, of course top-level functions don't have subordinates so for them the resulting list is empty. In #644 I established the invariant that there won't be any empty lists in the subordinate map. Without the patch from #642 top-level functions now started to fail reexporting their fixities.
* | | Use new function getNameToInstancesIndex instead of tcRnGetInfo (#639)Doug Wilson2017-06-221-42/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use new function getNameToInstancesIndex instead of tcRnGetInfo There is some significant performance improvement in the ghc testsuite. haddock.base: -23.3% haddock.Cabal: -16.7% haddock.compiler: -19.8% * Remove unused imports
* | | Haddock support for bundled pattern synonyms (#627)Christiaan Baaij2017-06-0910-113/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Haddock support for bundled pattern synonyms * Add fixities to bundled pattern synonyms * Add bundled pattern synonyms to the synopsis * Store bundled pattern fixities in expItemFixities * Add test for bundled pattern synonyms * Stop threading fixities * Include bundled pattern synonyms for re-exported data types Sadly, fixity information isn't found for re-exported data types * Support for pattern synonyms * Modify tests after #631 * Test some reexport variations * Also lookup bundled pattern synonyms from `InstalledInterface`s * Check isExported for bundled pattern synonyms * Pattern synonym is exported check * Always look for pattern synonyms in the current module Another overlooked cornercase * Account for types named twice in export lists Also introduce a fast function for nubbing on a `Name` and use it throughout the code base. * correct fixities for reexported pattern synonyms * Fuse concatMap and map * Remove obsolete import * Add pattern synonyms to visible exports * Fix test * Remove corner case
* | | Use NameSet for isExported check (#632)Alex Biehl2017-06-041-3/+3
| | |
* | | Allow user defined signatures for pattern synonyms (#631)Alex Biehl2017-06-032-0/+6
| | |
* | | Make haddock-library and haddock-api warning free (#626)Alex Biehl2017-05-302-5/+0
| | |
* | | Clear fixme comment (#625)Alex Biehl2017-05-301-3/+2
| | |
* | | Improve Syb code (#621)Doug Wilson2017-05-273-53/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specialize.hs and Ast.hs are modified to have their Syb code not recurse into Name or Id in HsSyn types. Specialize.hs is refactored to have fewer calls to Syb functions. Syb.hs has some foldl calls replaced with foldl' calls. There is still a lot of performance on the floor of Ast.hs. The RenamedSource is traversed many times, and lookupBySpan is very inefficient. everywhereBut and lookupBySpan dominate the runtime whenever --hyperlinked-source is passed.