diff options
| author | Jacob Hoffman-Andrews <github@hoffman-andrews.com> | 2021-06-12 22:19:26 -0700 |
|---|---|---|
| committer | Jacob Hoffman-Andrews <github@hoffman-andrews.com> | 2021-06-16 10:24:59 -0700 |
| commit | 62658bfc227dee9d8ac4f5d207a8a59bc315977c (patch) | |
| tree | ef5c30c29d77e95cc03bdeadd6a46197743c0121 | |
| parent | 8daad743c4bb941536860b4df20111cb71b8c777 (diff) | |
| download | rust-62658bfc227dee9d8ac4f5d207a8a59bc315977c.tar.gz rust-62658bfc227dee9d8ac4f5d207a8a59bc315977c.zip | |
Open trait implementations' toggles by default.
This makes it possible to use Ctrl-F to find methods defined in traits.
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 9 | ||||
| -rw-r--r-- | src/librustdoc/html/static/main.js | 14 | ||||
| -rw-r--r-- | src/test/rustdoc-gui/toggled-open-implementations.goml | 5 |
3 files changed, 14 insertions, 14 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 46fe3e2408f..0efa014b127 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -488,7 +488,7 @@ fn settings(root_path: &str, suffix: &str, themes: &[StylePath]) -> Result<Strin .into(), ("auto-hide-large-items", "Auto-hide item contents for large items.", true).into(), ("auto-hide-method-docs", "Auto-hide item methods' documentation", false).into(), - ("auto-hide-trait-implementations", "Auto-hide trait implementation documentation", true) + ("auto-hide-trait-implementations", "Auto-hide trait implementation documentation", false) .into(), ("auto-collapse-implementors", "Auto-hide implementors of a trait", true).into(), ("go-to-only-result", "Directly go to item in search if there is only one result", false) @@ -1543,15 +1543,10 @@ fn render_impl( } } if render_mode == RenderMode::Normal { - let is_implementing_trait = i.inner_impl().trait_.is_some(); let toggled = !impl_items.is_empty() || !default_impl_items.is_empty(); if toggled { close_tags.insert_str(0, "</details>"); - if is_implementing_trait { - write!(w, "<details class=\"rustdoc-toggle implementors-toggle\">"); - } else { - write!(w, "<details class=\"rustdoc-toggle implementors-toggle\" open>"); - } + write!(w, "<details class=\"rustdoc-toggle implementors-toggle\" open>"); } if toggled { write!(w, "<summary>") diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 1a15a444a70..e43a231d757 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -779,25 +779,25 @@ function hideThemeButtonState() { var hideMethodDocs = getSettingValue("auto-hide-method-docs") === "true"; var hideImplementors = getSettingValue("auto-collapse-implementors") !== "false"; - var hideImplementations = getSettingValue("auto-hide-trait-implementations") !== "false"; + var hideImplementations = getSettingValue("auto-hide-trait-implementations") === "true"; var hideLargeItemContents = getSettingValue("auto-hide-large-items") !== "false"; - function openImplementors(id) { + function setImplementorsTogglesOpen(id, open) { var list = document.getElementById(id); if (list !== null) { onEachLazy(list.getElementsByClassName("implementors-toggle"), function(e) { - e.open = true; + e.open = open; }); } } - if (!hideImplementations) { - openImplementors("trait-implementations-list"); - openImplementors("blanket-implementations-list"); + if (hideImplementations) { + setImplementorsTogglesOpen("trait-implementations-list", false); + setImplementorsTogglesOpen("blanket-implementations-list", false); } if (!hideImplementors) { - openImplementors("implementors-list"); + setImplementorsTogglesOpen("implementors-list", true); } onEachLazy(document.getElementsByClassName("rustdoc-toggle"), function (e) { diff --git a/src/test/rustdoc-gui/toggled-open-implementations.goml b/src/test/rustdoc-gui/toggled-open-implementations.goml new file mode 100644 index 00000000000..96a5492edef --- /dev/null +++ b/src/test/rustdoc-gui/toggled-open-implementations.goml @@ -0,0 +1,5 @@ +// This tests that the "implementations" section on struct/enum pages +// has all the implementations toggled open by default, so users can +// find method names in those implementations with Ctrl-F. +goto: file://|DOC_PATH|/test_docs/struct.Foo.html +assert: (".rustdoc-toggle.implementors-toggle", "open", "") |
