about summary refs log tree commit diff
path: root/src/librustdoc/html/highlight.rs
AgeCommit message (Collapse)AuthorLines
2021-01-30rustdoc tweakingbors-24/+22
* Reuse memory * simplify `next_def_id`, avoid multiple hashing and unnecessary lookups * remove `all_fake_def_ids`, use the global map instead (probably not a good step toward parallelization, though...) * convert `add_deref_target` to iterative implementation * use `ArrayVec` where we know the max number of elements * minor touchups here and there * avoid building temporary vectors that get appended to other vectors At most places I may or may not be doing the compiler's job is this PR.
2020-12-24rustdoc: Highlight edition-specific keywords correctly in code blocks, ↵ThePuzzlemaker-7/+15
accounting for code block edition modifiers This is a squash of these commits: - Highlight edition-specific keywords correctly in code blocks, accounting for code block edition modifiers - Fix unit tests - Revert changes to rustc_span::symbol to prepare for merge of #80272 - Use new Symbol::is_reserved API from #80272 - Remove unused import added by accident when merging
2020-12-23Update HTML DOM attribute "edition" to "data-edition"Guillaume Gomez-1/+1
2020-12-05Move tooltips messages to CSS instead of inside HTMLGuillaume Gomez-5/+10
2020-11-17Rollup merge of #79069 - jyn514:class-none, r=GuillaumeGomezMara Bos-17/+16
Get rid of `highlight::Class::None` This is mostly me learning the codebase for https://github.com/rust-lang/rust/pull/77939, so feel free to close the PR. It does have the small benefit that we statically know rustdoc isn't generating useless `span`s, though. r? `@GuillaumeGomez` cc `@matklad`
2020-11-17Rollup merge of #77939 - GuillaumeGomez:fix-source-code-dos-backline, r=jyn514Mara Bos-1/+3
Ensure that the source code display is working with DOS backline Fixes #76361. cc ````@lzutao```` r? ````@jyn514````
2020-11-15Add test to ensure that no DOS backline (\r\n) doesn't create extra backline ↵Guillaume Gomez-3/+3
in source rendering
2020-11-15Make all rustdoc functions and structs crate-privateJoshua Nelson-1/+1
This gives warnings about dead code.
2020-11-15Ensure that the source code display is working with DOS backlineGuillaume Gomez-0/+2
2020-11-15Get rid of `Class::None`Joshua Nelson-17/+16
This is mostly me learning the codebase, so feel free to close the PR. It does have the small benefit that we statically know rustdoc isn't generating useless `span`s, though.
2020-08-31Fix strings indentGuillaume Gomez-1/+1
2020-08-27Remove dependency on StringReader from rustdoc highlighterAleksey Kladov-330/+224
rustc_lexer is the lossless lexer, which is a better fit for approximate syntax highlighting. As a side-effect, we can now syntax-highlight even broken code.
2020-07-14rustdoc: glue tokens before highlightingAndy Russell-14/+37
Fixes #72684. This commit also modifies the signature of `Classifier::new` to avoid copying the source being highlighted.
2020-04-16Dogfood or_patterns in rustdocJosh Stone-6/+2
2020-03-06fix various typosMatthias Krüger-1/+1
2020-02-29Rename `syntax` to `rustc_ast` in source codeVadim Petrochenkov-1/+1
2020-02-29Make it build againVadim Petrochenkov-1/+1
2020-02-22Rename CodeMap to SourceMap follow upMaxim Zholobak-2/+2
2020-02-011. move node_id to syntaxMazdak Farrokhzad-1/+1
2. invert rustc_session & syntax deps 3. drop rustc_session dep in rustc_hir
2020-01-26Fix run button positionning in case of scrollingGuillaume Gomez-7/+4
2020-01-17rustdoc: Catch fatal errors when syntax highlightingOliver Middleton-2/+3
For some errors the lexer will unwind so we need to handle that in addition to handling `token::Unknown`.
2020-01-15rustdoc: HTML escape codeblocks which fail syntax highlightingOliver Middleton-1/+1
2020-01-02Normalize `syntax::symbol` imports.Mazdak Farrokhzad-1/+1
2020-01-02Normalize `syntax::source_map` imports.Mazdak Farrokhzad-1/+1
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-1/+1
2019-12-22Format the worldMark Rousskov-61/+81
2019-11-20Delete ProcessCfgModMark Rousskov-2/+1
The previous commit removes the use of this, and now we cleanup.
2019-11-10move syntax::parse -> librustc_parseMazdak Farrokhzad-2/+2
also move MACRO_ARGUMENTS -> librustc_parse
2019-11-10move config.rs to libsyntax_expandMazdak Farrokhzad-1/+2
2019-11-07syntax::parser::token -> syntax::tokenMazdak Farrokhzad-1/+1
2019-11-03use silent emitter for rustdoc highlighting passAndy Russell-2/+2
2019-10-15syntax::parse::sess -> syntax::sessMazdak Farrokhzad-2/+2
2019-08-05adapt rustdoc to infailable lexerAleksey Kladov-13/+14
2019-08-05add unknown tokenAleksey Kladov-1/+1
2019-07-04cleanup lexer constructorsAleksey Kladov-11/+11
2019-07-04remove StringReader::peekAleksey Kladov-9/+20
The reader itself doesn't need ability to peek tokens, so it's better if clients implement this functionality. This hopefully becomes especially easy once we use iterator interface for lexer, but this is not too easy at the moment, because of buffered errors.
2019-06-08syntax: Move most of the `TokenKind` methods to `Token`Vadim Petrochenkov-1/+1
2019-06-06syntax: Remove duplicate span from `token::Ident`Vadim Petrochenkov-2/+2
2019-06-06syntax: Use `Token` in `StringReader` and `TokenTreesReader`Vadim Petrochenkov-5/+5
2019-06-06syntax: Use `Token` in `TokenTree::Token`Vadim Petrochenkov-2/+2
2019-06-06syntax: Rename `TokenAndSpan` into `Token`Vadim Petrochenkov-15/+15
2019-05-23syntax: Turn `token::Lit` into a structVadim Petrochenkov-7/+7
2019-05-22Restore the old behavior of the rustdoc keyword check + Fix rebaseVadim Petrochenkov-7/+7
2019-05-11Keep the original token in `ast::Lit`Vadim Petrochenkov-0/+2
2019-02-23Transition librustdoc to 2018 editionHirokazu Hata-1/+1
2019-02-10rustc: doc commentsAlexander Regueiro-1/+1
2019-01-20Auto merge of #56884 - euclio:codeblock-diagnostics, r=QuietMisdreavusbors-37/+55
rustdoc: overhaul code block lexing errors Fixes #53919. This PR moves the reporting of code block lexing errors from rendering time to an early pass, so we can use the compiler's error reporting mechanisms. This dramatically improves the diagnostics in this situation: we now de-emphasize the lexing errors as a note under a warning that has a span and suggestion instead of just emitting errors at the top level. Additionally, this PR generalizes the markdown -> source span calculation function, which should allow other rustdoc warnings to use better spans in the future. Last, the PR makes sure that the code block is always emitted in the docs, even if it fails to highlight correctly. Of note: - The new pass unfortunately adds another pass over the docs to gather the doc blocks for syntax-checking. I wonder if this could be combined with the pass that looks for testable blocks? I'm not familiar with that code, so I don't know how feasible that is. - `pulldown_cmark` doesn't make it easy to find the spans of the code blocks, so the code that calculates the spans is a little nasty. It works for all the test cases I threw at it, but I wouldn't be surprised if an edge case would break it. Should have a thorough review. - This PR worsens the state of #56885, since those certain fatal lexing errors are now emitted before docs get generated at all.
2019-01-18Add token::ErrYuki Okushi-1/+1
2019-01-14rustdoc: check code block syntax in early passAndy Russell-37/+55
2018-12-25Remove licensesMark Rousskov-10/+0