diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2021-04-13 15:52:41 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume.gomez@huawei.com> | 2021-08-05 23:08:28 +0200 |
| commit | 2104bf27d41c061bab2f10400c7b817a5f95722f (patch) | |
| tree | 708b2f8aefac3d7e59d6e9f03a62598ef5383915 /src/librustdoc/html/render | |
| parent | 023231a709b88e1a73ac86076aa5e1b4b3001276 (diff) | |
| download | rust-2104bf27d41c061bab2f10400c7b817a5f95722f.tar.gz rust-2104bf27d41c061bab2f10400c7b817a5f95722f.zip | |
Add an option for the source code link generation
Diffstat (limited to 'src/librustdoc/html/render')
| -rw-r--r-- | src/librustdoc/html/render/context.rs | 10 | ||||
| -rw-r--r-- | src/librustdoc/html/render/span_map.rs | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/librustdoc/html/render/context.rs b/src/librustdoc/html/render/context.rs index 33b10db1f88..c0668fcce99 100644 --- a/src/librustdoc/html/render/context.rs +++ b/src/librustdoc/html/render/context.rs @@ -396,6 +396,7 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> { unstable_features, generate_redirect_map, show_type_layout, + generate_link_to_definition, .. } = options; @@ -456,8 +457,13 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> { } } - let (mut krate, local_sources, matches) = - collect_spans_and_sources(tcx, krate, &src_root, include_sources); + let (mut krate, local_sources, matches) = collect_spans_and_sources( + tcx, + krate, + &src_root, + include_sources, + generate_link_to_definition, + ); let (sender, receiver) = channel(); let mut scx = SharedContext { diff --git a/src/librustdoc/html/render/span_map.rs b/src/librustdoc/html/render/span_map.rs index c7c8fa7cc45..fa1f8954a15 100644 --- a/src/librustdoc/html/render/span_map.rs +++ b/src/librustdoc/html/render/span_map.rs @@ -20,11 +20,14 @@ crate fn collect_spans_and_sources( krate: clean::Crate, src_root: &std::path::Path, include_sources: bool, + generate_link_to_definition: bool, ) -> (clean::Crate, FxHashMap<std::path::PathBuf, String>, FxHashMap<(u32, u32), LinkFromSrc>) { let mut visitor = SpanMapVisitor { tcx, matches: FxHashMap::default() }; if include_sources { - intravisit::walk_crate(&mut visitor, tcx.hir().krate()); + if generate_link_to_definition { + intravisit::walk_crate(&mut visitor, tcx.hir().krate()); + } let (krate, sources) = sources::collect_local_sources(tcx, src_root, krate); (krate, sources, visitor.matches) } else { |
