| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| | |
* Make Span strict in Position
* Hyperlinker: Use a proper map to enrich tokens
|
| |
| |
| |
| | |
This allows us to later throw warnings if can't find an identifier
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* rework rename
* Add regression test for Bug 613
* update tests
* update changelog
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move `DocMarkup` from haddock-api to haddock-library
* Move more markup related functions
* Markup module
* CHANGELOG
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
* Test case
|
| |
| |
| | |
These are unecessary anyway and just blow up interface size
|
| |
| |
| |
| |
| | |
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
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
* 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
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
(#610) introduced lazy decoding for docs from InstalledInterface but
forgot to remove the original calls to get and put_
|
| |
| |
| |
| | |
These are only used in case of a doc reexport so most of the time
decoding these is wasted work.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
I forgot a conditional, oops!
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit a0c4790e15a2d3fab8d830eee8fcd639fe6d39c9)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This also exposes Documentation.Haddock.Utf8
|
| |
| |
| |
| |
| |
| |
| | |
MathJax is shutting down their CDN:
https://www.mathjax.org/cdn-shutting-down/
They recommend migrating to cdnjs.
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 4eb765ca4205c79539d60b7afa9b7e261a4a49fe)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 07b88c5d4e79b87a319fbb08f8ea01dbb41063c1)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 94610e9b446324f4231fa6ad4c6ac51e4eba8c0e)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 3d77b373dd5807d5d956719dd7c849a11534fa6a)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 0671abfe7e8ceae2269467a30b77ed9d9656e2cc)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 2067a2d0afa9cef381d26fb7140b67c62f433fc0)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 930cfbe58e2e87f5a4d431d89a3c204934e6e858)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 26d6c150b31bc4580ab17cfd07b6e7f9afe10737)
|
| |
| |
| |
| |
| | |
This applies to type parameters on data, newtype, type, and class
declarations, and also to forall-bound type vars in type signatures.
|
| |\
| | |
| | | |
Adding more exports to Documentation.Haddock
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |/
| |/| |
|