aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Utils.hs
Commit message (Collapse)AuthorAgeFilesLines
* Use `.hie` files for the Hyperlinker backend (#977)Alec Theriault2019-01-311-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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
* Fix warnings, accept outputAlec Theriault2018-12-121-1/+0
| | | | | | | * remove redundant imports (only brought to light due to recent work for improving redundant import detection) * fix a bug that was casuing exports to appear in reverse order * fix something in haddock-library that prevented compilation on old GHC's
* Follow GHC HEAD's HsTypes.Promoted -> BasicTypes.PromotionFlag changeAlp Mestanogullari2018-11-151-0/+1
| | | | It got introduced in ghc/ghc@ae2c9b40f5b6bf272251d1f4107c60003f541b62.
* Set UTF-8 encoding before writing files (#934)Alec Theriault2018-10-161-1/+11
| | | | | This should fix #929, as well as guard against future problems of this sort in other places. Basically replaces 'writeFile' (which selects the users default locale) with 'writeUtf8File' (which always uses utf8).
* Fix redundant import warningsSimon Jakobi2018-06-131-1/+0
|
* Match changes in GHC for TTGAlan Zimmerman2018-04-271-11/+15
|
* Match GHC for TTG implemented on HsBinds, D4581Alan Zimmerman2018-04-131-5/+5
|
* Match GHC changes for TTGAlan Zimmerman2018-04-091-6/+9
|
* Track changes to follow Trac #14529Simon Peyton Jones2017-12-071-18/+2
| | | | This tracks the refactoring of HsDecl.ConDecl.
* Revert "Match changes for Trees that Grow in GHC"Ben Gamari2017-11-211-9/+6
| | | | This reverts commit 01eeeb048acd2dd05ff6471ae148a97cf0720547.
* Revert "Clean up use of PlaceHolder, to match TTG"Ben Gamari2017-11-211-4/+4
| | | | This reverts commit 134a7bb054ea730b13c8629a76232d73e3ace049.
* Clean up use of PlaceHolder, to match TTGAlan Zimmerman2017-11-141-4/+4
|
* Match changes for Trees that Grow in GHCAlan Zimmerman2017-11-071-6/+9
|
* Merge remote-tracking branch 'origin/ghc-head' into HEADalexbiehl2017-10-081-10/+10
|\
| * Merge remote-tracking branch 'origin/master' into ghc-headalexbiehl2017-08-211-67/+0
| |\
| * | Rename extension index tagsAlan Zimmerman2017-06-051-10/+10
| | |
| * | Match new AST as per GHC wip/new-tree-one-paramAlan Zimmerman2017-06-051-10/+10
| | | | | | | | | | | | See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
| * | Merge commit '240bc38b94ed2d0af27333b23392d03eeb615e82' into HEADBen Gamari2017-03-231-10/+2
| |\ \
* | | | Add compile step that bundles and compresses JS files (#684)Tim Baumann2017-09-231-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | | | Content search for haddock html docalexbiehl2017-08-271-1/+9
| | | |
* | | | Generate an index for package content search (#662)Florian Eggenhofer2017-08-271-2/+3
| |_|/ |/| | | | | Generate an index for package content search
* | | Move `DocMarkup` from haddock-api to haddock-library (#659)Alexander Biehl2017-07-311-67/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move `DocMarkup` from haddock-api to haddock-library * Move more markup related functions * Markup module * CHANGELOG
* | | Merge branch 'ghc-head'Ben Gamari2017-03-101-2/+2
|\| | | |/ |/|
| * Match changes in GHC wip/T3384 branchAlan Zimmerman2016-12-071-1/+1
| |
| * Follow changes to LHsSigWcTypeSimon Peyton Jones2016-06-131-1/+1
| |
| * Changes due to fix for GHC#11648.Richard Eisenberg2016-03-141-2/+5
| |
* | remove framed view of the HTML documentation (see #114 and #274)Sebastian Meric de Bellefon2016-05-241-10/+2
| | | | | | | | | | Frames are a bit broken, ignored by Hackage, and considered obsolete in general. This patch disables frames generation. The mini_*.html files are still used in the synopsis.
* | Changes due to fix for GHC#11648.Richard Eisenberg2016-03-151-2/+5
|/ | | | (cherry picked from commit bb994de1ab0c76d1aaf1e39c54158db2526d31f1)
* Fix the documentation for haddock itself.Dominic Steinitz2015-12-211-0/+2
| | | | | | | | | | | | | | | Change notation and add support for inline math. Allow newlines in display math. Add a command line option for the mathjax url (you might want to use a locally installed version). Rebase tests because of extra url and version change. Respond to (some of the) comments. Fix warnings in InterfaceFile.hs
* Handle inline math with mathjax.Dominic Steinitz2015-12-211-0/+2
|
* Update for type=kindsRichard Eisenberg2015-12-141-3/+5
|
* Matching changes for #11028Alan Zimmerman2015-12-141-3/+17
|
* WibbleSimon Peyton Jones2015-12-141-1/+1
|
* Work on updating Haddock to wip/spj-wildard-recactorSimon Peyton Jones2015-12-141-1/+1
| | | | Still incomplete
* Follow changes to HsTYpeSimon Peyton Jones2015-12-141-0/+29
| | | | Not yet complete (but on a wip/ branch)
* Track wip/spj-wildcard-refactor on main repoSimon Peyton Jones2015-12-141-1/+1
|
* Roughly fix up haddock for DuplicateRecordFields changesAdam Gundry2015-12-141-1/+4
| | | | | This compiles, but will probably need more work to produce good documentation when the DuplicateRecordFields extension is used.
* Rewrite source generation to fixed links and directory structure.Łukasz Hanuszczak2015-06-301-8/+0
|
* Make external hyperlinks point to locations specified by source URLs.Łukasz Hanuszczak2015-06-301-1/+4
|
* Make source hyperlinker generate output in apropriate directory.Łukasz Hanuszczak2015-06-301-0/+5
|
* Follow API changes in D538Alan Zimmerman2015-01-231-2/+2
| | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com> (cherry picked from commit d61bbc75890e4eb0ad508b9c2a27b91f691213e6)
* Follow API changes in D426Alan Zimmerman2014-12-121-4/+3
| | | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com> Conflicts: haddock-api/src/Haddock/Backends/LaTeX.hs haddock-api/src/Haddock/Backends/Xhtml/Decl.hs haddock-api/src/Haddock/Convert.hs
* Revert "Merge branch 'reverts'"Mateusz Kowalczyk2014-12-121-5/+1
| | | | | | | | This reverts commit 5c93cc347773c7634321edd5f808d5b55b46301f, reversing changes made to 5b81a9e53894d2ae591ca0c6c96199632d39eb06. Conflicts: haddock-api/src/Haddock/Convert.hs
* Allow the parser to spit out meta-infoMateusz Kowalczyk2014-12-101-4/+8
| | | | | | | | | | | | | | | Currently we only use it only for ‘since’ annotations but with these patches it should be fairly simple to add new attributes if we wish to. Closes #26. It seems to work fine but due to 7.10 rush I don't have the chance to do more exhaustive testing right now. The way the meta is output (emphasis at the end of the whole comment) is fairly arbitrary and subject to bikeshedding. Note that this makes test for Bug310 fail due to interface version bump: it can't find the docs for base with this interface version so it fails. There is not much we can do to help this because it tests for ’built-in’ identifier, not something we can provide ourselves.
* Move sources under haddock-api/srcMateusz Kowalczyk2014-08-231-0/+480