Skip to content

Commit

Permalink
Rollup merge of rust-lang#55191 - GuillaumeGomez:fix-sub-variant, r=Q…
Browse files Browse the repository at this point in the history
…uietMisdreavus

Fix sub-variant doc display

Fixes rust-lang#54758.

<img width="1440" alt="screen shot 2018-10-19 at 01 34 11" src="https://user-images.githubusercontent.com/3050060/47189939-43481d00-d33f-11e8-868f-cf479fc79e62.png">

r? @QuietMisdreavus
  • Loading branch information
kennytm committed Oct 28, 2018
2 parents b9763de + 2fd378b commit 883b819
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 17 deletions.
17 changes: 8 additions & 9 deletions src/librustdoc/html/render.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3379,10 +3379,10 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
let variant_id = cx.derive_id(format!("{}.{}.fields",
ItemType::Variant,
variant.name.as_ref().unwrap()));
write!(w, "<span class='docblock autohide sub-variant' id='{id}'>",
write!(w, "<span class='autohide sub-variant' id='{id}'>",
id = variant_id)?;
write!(w, "<h3 class='fields'>Fields of <code>{name}</code></h3>\n
<table>", name = variant.name.as_ref().unwrap())?;
write!(w, "<h3>Fields of <b>{name}</b></h3><div>",
name = variant.name.as_ref().unwrap())?;
for field in &s.fields {
use clean::StructFieldItem;
if let StructFieldItem(ref ty) = field.inner {
Expand All @@ -3394,19 +3394,18 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
ItemType::Variant.name_space(),
field.name.as_ref().unwrap(),
ItemType::StructField.name_space()));
write!(w, "<tr><td \
id='{id}'>\
<span id='{ns_id}' class='invisible'>\
<code>{f}:&nbsp;{t}</code></span></td><td>",
write!(w, "<span id=\"{id}\" class=\"variant small-section-header\">\
<a href=\"#{id}\" class=\"anchor field\"></a>\
<span id='{ns_id}' class='invisible'><code>{f}:&nbsp;{t}\
</code></span></span>",
id = id,
ns_id = ns_id,
f = field.name.as_ref().unwrap(),
t = *ty)?;
document(w, cx, field)?;
write!(w, "</td></tr>")?;
}
}
write!(w, "</table></span>")?;
write!(w, "</div></span>")?;
}
render_stability_since(w, variant, it)?;
}
Expand Down
17 changes: 10 additions & 7 deletions src/librustdoc/html/static/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -1886,7 +1886,7 @@
if (hasClass(relatedDoc, "stability")) {
relatedDoc = relatedDoc.nextElementSibling;
}
if (hasClass(relatedDoc, "docblock")) {
if (hasClass(relatedDoc, "docblock") || hasClass(relatedDoc, "sub-variant")) {
var action = mode;
if (action === "toggle") {
if (hasClass(relatedDoc, "hidden-by-usual-hider")) {
Expand Down Expand Up @@ -2094,15 +2094,13 @@
}

var hideItemDeclarations = getCurrentValue('rustdoc-item-declarations') === "false";
onEach(document.getElementsByClassName('docblock'), function(e) {
function buildToggleWrapper(e) {
if (hasClass(e, 'autohide')) {
var wrap = e.previousElementSibling;
if (wrap && hasClass(wrap, 'toggle-wrapper')) {
var toggle = wrap.childNodes[0];
var extra = false;
if (e.childNodes[0].tagName === 'H3') {
extra = true;
}
var extra = e.childNodes[0].tagName === 'H3';

e.style.display = 'none';
addClass(wrap, 'collapsed');
onEach(toggle.getElementsByClassName('inner'), function(e) {
Expand All @@ -2127,6 +2125,8 @@
if (hideItemDeclarations === false) {
extraClass = 'collapsed';
}
} else if (hasClass(e, "sub-variant")) {
otherMessage = '&nbsp;Show&nbsp;fields';
} else if (hasClass(e, "non-exhaustive")) {
otherMessage = '&nbsp;This&nbsp;';
if (hasClass(e, "non-exhaustive-struct")) {
Expand All @@ -2150,7 +2150,10 @@
collapseDocs(e.previousSibling.childNodes[0], "toggle");
}
}
});
}

onEach(document.getElementsByClassName('docblock'), buildToggleWrapper);
onEach(document.getElementsByClassName('sub-variant'), buildToggleWrapper);

function createToggleWrapper(tog) {
var span = document.createElement('span');
Expand Down
22 changes: 21 additions & 1 deletion src/librustdoc/html/static/rustdoc.css
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,10 @@ h4 > code, h3 > code, .invisible > code {
margin-top: -13px;
}

.sub-variant > div > .stability {
margin-top: initial;
}

.content .stability::before {
content: '˪';
font-size: 30px;
Expand Down Expand Up @@ -866,7 +870,23 @@ span.since {
}

.sub-variant, .sub-variant > h3 {
margin-top: 0 !important;
margin-top: 1px !important;
}

#main > .sub-variant > h3 {
font-size: 15px;
margin-left: 25px;
margin-bottom: 5px;
}

.sub-variant > div {
margin-left: 20px;
margin-bottom: 10px;
}

.sub-variant > div > span {
display: block;
position: relative;
}

.toggle-label {
Expand Down

0 comments on commit 883b819

Please sign in to comment.