aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Move `DocMarkup` from haddock-api to haddock-library (#659)Alexander Biehl2017-07-316-99/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-303-11/+6
| | | |
* | | | 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.
* | | | Haddock: Fix broken lazy IO in prologue reading (#615)Alex Biehl2017-05-121-2/+3
| | | | | | | | | | | | | | | | | | | | We previously used withFile in conjunction with hGetContents. The list returned by the latter wasn't completely forced by the time we left the withFile block, meaning that we would try to read from a closed handle.
* | | | Fix Binary instance for InstalledInterface (#611)Alex Biehl2017-05-011-2/+0
| | | | | | | | | | | | | | | | (#610) introduced lazy decoding for docs from InstalledInterface but forgot to remove the original calls to get and put_
* | | | Lazily decode docMap and argMap (#610)Alex Biehl2017-05-011-3/+3
| | | | | | | | | | | | | | | | These are only used in case of a doc reexport so most of the time decoding these is wasted work.
* | | | Improve error messageSergey Vinokurov2017-04-291-1/+1
| | | |
* | | | Cherry-picked remaining commits from haddock-2.17.4-release (#603)Alex Biehl2017-04-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Release haddock/haddock-api 2.17.4 and haddock-library 1.4.3 * Set version bounds for haddock-library NB: This allows GHC 8.2.1's base * Set version bounds for haddock & haddock-api The version bounds support GHC 8.2 * Merge (temporary) v2.17.3 branch into v2.17 This allows us to delete the v2.17.3 branch * Fixup changelog * Pin down haddock-api to a single version as otherwise `haddock`'s package version has no proper meaning * fix source-repo spec for haddock-api
* | | | Remove anything related to obsolete frames modealexbiehl2017-04-261-62/+8
| | | |
* | | | Render (signature) only if it actually is a signature!Edward Z. Yang2017-04-251-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I forgot a conditional, oops! Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit a0c4790e15a2d3fab8d830eee8fcd639fe6d39c9)
* | | | Hoogle: Correctly print classes with associated data typesAlexander Biehl2017-04-251-1/+4
| | | |
* | | | Expand signatures for class declarationsAlexander Biehl2017-04-251-7/+17
| | | |
* | | | Travis: Use ghc-8.2.1 on masteralexbiehl2017-04-251-9/+16
| | | |
* | | | Prevent GHC API from doing optimization passes.Kyrill Briantsev2017-04-111-1/+1
| | | |
* | | | Explicit import list ofr Control.DeepSeq in Haddock.Interface.Createalexbiehl2017-04-111-1/+1
| | | |
* | | | Read files for hyperlinker eagerlyalexbiehl2017-04-111-4/+8
| | | | | | | | | | | | | | | | This also exposes Documentation.Haddock.Utf8
* | | | Update MathJax URLPhil Ruffwind2017-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | MathJax is shutting down their CDN: https://www.mathjax.org/cdn-shutting-down/ They recommend migrating to cdnjs.
* | | | Render help documentation link next to (signature) in title.Edward Z. Yang2017-03-231-1/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 4eb765ca4205c79539d60b7afa9b7e261a4a49fe)
* | | | Annotate signature docs with (signature)Edward Z. Yang2017-03-231-2/+5
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 07b88c5d4e79b87a319fbb08f8ea01dbb41063c1)
* | | | Better Backpack support with signature merging.Edward Z. Yang2017-03-231-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> (cherry picked from commit 6cc832dfb1de6088a4abcaae62b25a7e944d55c3)
* | | | TODO on moduleExports.Edward Z. Yang2017-03-231-1/+5
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 94610e9b446324f4231fa6ad4c6ac51e4eba8c0e)
* | | | More docs.Edward Z. Yang2017-03-231-0/+5
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 3d77b373dd5807d5d956719dd7c849a11534fa6a)
* | | | Documentation.Edward Z. Yang2017-03-231-5/+22
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 0671abfe7e8ceae2269467a30b77ed9d9656e2cc)
* | | | Render signature module tree separately from modules.Edward Z. Yang2017-03-231-1/+14
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 2067a2d0afa9cef381d26fb7140b67c62f433fc0)
* | | | Add a field marking if interface is a signature or not.Edward Z. Yang2017-03-233-2/+12
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 930cfbe58e2e87f5a4d431d89a3c204934e6e858)
* | | | Correctly handle Backpack identity/semantic modules.Edward Z. Yang2017-03-231-21/+54
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 26d6c150b31bc4580ab17cfd07b6e7f9afe10737)
* | | | Print any user-supplied kind signatures on type parameters.Brian Huffman2017-03-231-23/+14
| | | | | | | | | | | | | | | | | | | | This applies to type parameters on data, newtype, type, and class declarations, and also to forall-bound type vars in type signatures.
* | | | Merge pull request #581 from JustusAdam/masterAlex Biehl2017-03-231-0/+2
|\ \ \ \ | | | | | | | | | | Adding more exports to Documentation.Haddock
| * | | | Also exposing toInstalledIfaceJustus Adam2017-03-091-0/+1
| | | | |
| * | | | Adding MDoc to exports of Documentation.HaddockJustus Adam2017-03-021-0/+1
| | |/ / | |/| |
* | | | Update Haddock w.r.t. new HsImplicitBndrsRichard Eisenberg2017-03-142-3/+5
| | | |
* | | | Merge branch 'ghc-head'Ben Gamari2017-03-1019-153/+224
|\ \ \ \ | |/ / / |/| | |
| * | | Bump for GHC 8.2Ben Gamari2017-03-091-2/+2
| |/ /
| * | Kill remaining static flagsBen Gamari2017-02-021-12/+2
| | |
| * | Changes to match #13163 in GHCAlan Zimmerman2017-01-262-8/+8
| | |
| * | Upstream changes re levity polymorphismRichard Eisenberg2017-01-191-7/+3
| |/
| * HsIParamTy now has a Located nameAlan Zimmerman2017-01-103-3/+3
| |
| * Matching changes for GHC wip/T12942Alan Zimmerman2016-12-128-18/+34
| |