mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rollup merge of #112740 - GuillaumeGomez:link-to-search-chapter, r=notriddle
Add link to rustdoc book search chapter in help popover One thing that was missing in the rustdoc output and its help popover was a link back to the search feature chapter in the rustdoc book. It looks like this: ![image](https://github.com/rust-lang/rust/assets/3050060/425413e5-e734-4d40-b675-8b2dcef874a2) r? `@notriddle`
This commit is contained in:
commit
afe337d2f1
@ -21,6 +21,7 @@ use rustc_middle::ty::{self, TyCtxt};
|
||||
use rustc_span::symbol::{kw, sym, Symbol};
|
||||
use std::fmt::Write as _;
|
||||
use std::mem;
|
||||
use std::sync::LazyLock as Lazy;
|
||||
use thin_vec::{thin_vec, ThinVec};
|
||||
|
||||
#[cfg(test)]
|
||||
@ -582,6 +583,8 @@ pub(crate) fn has_doc_flag(tcx: TyCtxt<'_>, did: DefId, flag: Symbol) -> bool {
|
||||
///
|
||||
/// Set by `bootstrap::Builder::doc_rust_lang_org_channel` in order to keep tests passing on beta/stable.
|
||||
pub(crate) const DOC_RUST_LANG_ORG_CHANNEL: &str = env!("DOC_RUST_LANG_ORG_CHANNEL");
|
||||
pub(crate) static DOC_CHANNEL: Lazy<&'static str> =
|
||||
Lazy::new(|| DOC_RUST_LANG_ORG_CHANNEL.rsplit("/").filter(|c| !c.is_empty()).next().unwrap());
|
||||
|
||||
/// Render a sequence of macro arms in a format suitable for displaying to the user
|
||||
/// as part of an item declaration.
|
||||
|
@ -55,6 +55,7 @@ struct PageLayout<'a> {
|
||||
sidebar: String,
|
||||
content: String,
|
||||
krate_with_trailing_slash: String,
|
||||
rust_channel: &'static str,
|
||||
pub(crate) rustdoc_version: &'a str,
|
||||
}
|
||||
|
||||
@ -82,6 +83,7 @@ pub(crate) fn render<T: Print, S: Print>(
|
||||
sidebar,
|
||||
content,
|
||||
krate_with_trailing_slash,
|
||||
rust_channel: *crate::clean::utils::DOC_CHANNEL,
|
||||
rustdoc_version,
|
||||
}
|
||||
.render()
|
||||
|
@ -1050,9 +1050,10 @@ function preLoadCss(cssUrl) {
|
||||
|
||||
function buildHelpMenu() {
|
||||
const book_info = document.createElement("span");
|
||||
const channel = getVar("channel");
|
||||
book_info.className = "top";
|
||||
book_info.innerHTML = "You can find more information in \
|
||||
<a href=\"https://doc.rust-lang.org/rustdoc/\">the rustdoc book</a>.";
|
||||
book_info.innerHTML = `You can find more information in \
|
||||
<a href="https://doc.rust-lang.org/${channel}/rustdoc/">the rustdoc book</a>.`;
|
||||
|
||||
const shortcuts = [
|
||||
["?", "Show this help dialog"],
|
||||
@ -1072,6 +1073,9 @@ function preLoadCss(cssUrl) {
|
||||
div_shortcuts.innerHTML = "<h2>Keyboard Shortcuts</h2><dl>" + shortcuts + "</dl></div>";
|
||||
|
||||
const infos = [
|
||||
`For a full list of all search features, take a look <a \
|
||||
href="https://doc.rust-lang.org/${channel}/rustdoc/how-to-read-rustdoc.html\
|
||||
#the-search-interface">here</a>.`,
|
||||
"Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
|
||||
restrict the search to a given item kind.",
|
||||
"Accepted kinds are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
|
||||
|
@ -31,6 +31,7 @@
|
||||
data-themes="{{themes|join(",") }}" {#+ #}
|
||||
data-resource-suffix="{{page.resource_suffix}}" {#+ #}
|
||||
data-rustdoc-version="{{rustdoc_version}}" {#+ #}
|
||||
data-channel="{{rust_channel}}" {#+ #}
|
||||
data-search-js="{{files.search_js}}" {#+ #}
|
||||
data-settings-js="{{files.settings_js}}" {#+ #}
|
||||
data-settings-css="{{files.settings_css}}" {#+ #}
|
||||
|
@ -67,5 +67,5 @@ go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
|
||||
set-window-size: (1000, 1000) // Popover only appears when the screen width is >700px.
|
||||
assert-false: "#help"
|
||||
click: "#help-button > a"
|
||||
click: ".popover a[href='https://doc.rust-lang.org/rustdoc/']"
|
||||
wait-for-document-property: {"URL": "https://doc.rust-lang.org/rustdoc/"}
|
||||
click: "//*[@id='help']//a[text()='the rustdoc book']"
|
||||
wait-for-document-property: ({"URL": "https://doc.rust-lang.org/"}, STARTS_WITH)
|
||||
|
Loading…
Reference in New Issue
Block a user