Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Improve hyperlinker's 'spanToNewline' (#846) | Alec Theriault | 2018-06-13 | 1 | -7/+25 |
| | | | | | | | | | | | | | | | | '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. | ||||
* | Filter out CRLFs in hyperlinker backend (#813) | Alec Theriault | 2018-06-13 | 1 | -2/+7 |
| | | | This prevents spurious lines from appearing in the final output. | ||||
* | Remove `ITtildehsh` token | Simon Jakobi | 2018-06-13 | 1 | -1/+0 |
| | |||||
* | DerivingVia changes | Ryan Scott | 2018-06-13 | 1 | -6/+1 |
| | |||||
* | Support the new 'ITcolumn_prag' token | Alec Theriault | 2018-02-02 | 1 | -0/+2 |
| | |||||
* | Properly color pragma contents in hyperlinker | Alec Theriault | 2018-02-02 | 1 | -13/+65 |
| | | | | | | The hyperlinker backend now classifies the content of pragmas as 'TkPragma'. That means that in something like '{-# INLINE foo #-}', 'foo' still gets classified as a pragma token. | ||||
* | Hyperlinker: Adjust parser to new PFailed constructor | Alexander Biehl | 2018-02-01 | 1 | -8/+8 |
| | |||||
* | Use the GHC lexer for the Hyperlinker backend (#714) | Alec Theriault | 2018-02-01 | 1 | -190/+344 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 | ||||
* | Change Hyperlinked lexer to know about DataKinds ticks | Oleg Grenrus | 2016-05-24 | 1 | -1/+11 |
| | |||||
* | Extract main hyperlinker types to separate module. | Łukasz Hanuszczak | 2015-07-06 | 1 | -36/+4 |
| | |||||
* | Fix issue with operators being recognized as preprocessor directives. | Łukasz Hanuszczak | 2015-07-02 | 1 | -3/+3 |
| | |||||
* | Improve support for hyperlinking type families. | Łukasz Hanuszczak | 2015-07-02 | 1 | -0/+1 |
| | |||||
* | Add basic tests related to comment parsing. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+1 |
| | |||||
* | Prevent source parser from throwing exception when lexing fails. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+3 |
| | |||||
* | Add some documentation for parser module of source hyperlinker. | Łukasz Hanuszczak | 2015-06-30 | 1 | -0/+39 |
| | |||||
* | Add support for parsing C preprocessor macros. | Łukasz Hanuszczak | 2015-06-30 | 1 | -4/+16 |
| | |||||
* | Fix issues with escaped newlines in comments. | Łukasz Hanuszczak | 2015-06-30 | 1 | -8/+5 |
| | |||||
* | Fix bug with improper newline handling. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+1 |
| | |||||
* | Fix parsing of single line comments with broken up newlines. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+11 |
| | |||||
* | Fix weird hyperlinking of parenthesized operators. | Łukasz Hanuszczak | 2015-06-30 | 1 | -0/+1 |
| | |||||
* | Add support for recognizing compiler pragmas in source parser. | Łukasz Hanuszczak | 2015-06-30 | 1 | -0/+2 |
| | |||||
* | Fix comment recognition in Haskell source parser. | Łukasz Hanuszczak | 2015-06-30 | 1 | -2/+3 |
| | |||||
* | Fix identifier recognition in Haskell source parser. | Łukasz Hanuszczak | 2015-06-30 | 1 | -2/+5 |
| | |||||
* | Make parser module export all types and associated accessors. | Łukasz Hanuszczak | 2015-06-30 | 1 | -3/+2 |
| | |||||
* | Add record accessors to exports of hyperlinker parser module. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+6 |
| | |||||
* | Adapt source span tagging to work with current whitespace handling. | Łukasz Hanuszczak | 2015-06-30 | 1 | -4/+7 |
| | |||||
* | Create basic token classification method. | Łukasz Hanuszczak | 2015-06-30 | 1 | -6/+98 |
| | |||||
* | Implement simple string chunking based on HsColour library. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+27 |
| | |||||
* | Implement function for tagging parsed chunks with source spans. | Łukasz Hanuszczak | 2015-06-30 | 1 | -1/+8 |
| | |||||
* | Create scaffolding for Haskell source parser module. | Łukasz Hanuszczak | 2015-06-30 | 1 | -0/+36 |