about summary refs log tree commit diff
path: root/src/librustdoc/html/highlight.rs
AgeCommit message (Collapse)AuthorLines
2021-10-04Make rustdoc not highlight `->` and `=>` as operatorsMichael Howell-2/+21
It was marking them up as `<span class="op">=</span><span class="op">&gt;</span>`, which is bloaty and wrong.
2021-09-29Rollup merge of #87428 - GuillaumeGomez:union-highlighting, r=notriddleEric Huss-5/+65
Fix union keyword highlighting in rustdoc HTML sources I followed this logic: if I find an ident "union", I check if it followed by another ident or not. If it's the case, then I consider this is a keyword because it's declaring a union type. To do so I created a new Iterator which allows to peek the next items without moving the current iterator position. This is part of https://github.com/rust-lang/rust/issues/85016. If the fix makes sense, I'll extend it to other weak keywords (the issue only mentions they exist but https://doc.rust-lang.org/nightly/reference/keywords.html#weak-keywords only talks about `dyn` and `'static` so not sure if there is anything else to be done?). cc `@notriddle` (you're one of the last ones who worked on this part of rustdoc so here you go :wink: ) r? `@jyn514`
2021-09-13Add support for primitives in "jump to definition" featureGuillaume Gomez-0/+8
2021-08-19[rustdoc] Wrap code blocks in <code> tagJakub Beránek-3/+4
2021-08-06Fix highlighting for union keywordGuillaume Gomez-5/+65
2021-08-05Remove LightSpan and use Span directlyGuillaume Gomez-28/+21
2021-08-05* Rename LightSpan::empty into LightSpan::dummyGuillaume Gomez-22/+18
* Add Classifier::new_light_span to wrap LightSpan::new_in_file constructor
2021-08-05Add missing root_path when generating links using hrefGuillaume Gomez-1/+8
2021-08-05Fix invalid generation of HTML in highlightGuillaume Gomez-41/+42
2021-08-05formattingGuillaume Gomez-16/+12
2021-08-05Use rustdoc Span in LinkFromSrc directlyGuillaume Gomez-2/+1
2021-08-05Move extra arguments for highlight URL generation into a new ContextInfo ↵Guillaume Gomez-31/+39
struct for better readability
2021-08-05Wrap the span_map tuple index into a type called "LightSpan"Guillaume Gomez-27/+10
2021-08-05Improve code readabilityGuillaume Gomez-55/+42
2021-08-05* Rename Span::from_rustc_span to Span::newGuillaume Gomez-1/+1
* Rename Span::wrap to Span::wrap_raw * Improve documentation for Span::wrap_raw
2021-08-05* Rename 'move_span' into 'local_span_to_global_span'Guillaume Gomez-10/+60
* Add documentation on new arguments/functions
2021-08-05Generate links for methods as wellGuillaume Gomez-3/+3
2021-08-05Add links on source types to go to definitionGuillaume Gomez-34/+152
2021-06-26Rename 'bad prefix' to 'unknown prefix'.Mara Bos-1/+1
2021-06-26Reserve prefixed identifiers and string literals (RFC 3101)lrh2000-1/+1
This commit denies any identifiers immediately followed by one of three tokens `"`, `'` or `#`, which is stricter than the requirements of RFC 3101 but may be necessary according to the discussion at [Zulip]. [Zulip]: https://rust-lang.zulipchat.com/#narrow/stream/268952-edition-2021/topic/reserved.20prefixes/near/238470099
2021-05-10Fix line number not being clickable on source pagesGuillaume Gomez-3/+12
2021-05-05Remove unneeded call to with_default_session_globals in rustdoc highlightGuillaume Gomez-20/+17
2021-05-03Change librustdoc write(.. \n) to writeln(..); fix comment in grammarmautamu-2/+2
More grammar
2021-04-08Merge idents if they are part of a pathGuillaume Gomez-18/+107
2021-04-02rustdoc: highlight macros more efficientlyMichael Howell-2/+6
Instead of producing `<span class=macro>assert_eq</span><span class=macro>!</span>`, just produce `<span class=macro>assert_eq!</span>`.
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