Move "global" code into anonymous functions
This commit is contained in:
parent
0fa4762a80
commit
deaf5e200e
1 changed files with 258 additions and 248 deletions
|
@ -450,7 +450,7 @@ function defocusSearchBar() {
|
|||
set_fragment(cur_line_id);
|
||||
}
|
||||
}
|
||||
})();
|
||||
}());
|
||||
|
||||
document.addEventListener("click", function(ev) {
|
||||
if (hasClass(ev.target, "collapse-toggle")) {
|
||||
|
@ -476,27 +476,29 @@ function defocusSearchBar() {
|
|||
}
|
||||
});
|
||||
|
||||
var x = document.getElementsByClassName("version-selector");
|
||||
if (x.length > 0) {
|
||||
x[0].onchange = function() {
|
||||
var i, match,
|
||||
url = document.location.href,
|
||||
stripped = "",
|
||||
len = rootPath.match(/\.\.\//g).length + 1;
|
||||
(function() {
|
||||
var x = document.getElementsByClassName("version-selector");
|
||||
if (x.length > 0) {
|
||||
x[0].onchange = function() {
|
||||
var i, match,
|
||||
url = document.location.href,
|
||||
stripped = "",
|
||||
len = rootPath.match(/\.\.\//g).length + 1;
|
||||
|
||||
for (i = 0; i < len; ++i) {
|
||||
match = url.match(/\/[^\/]*$/);
|
||||
if (i < len - 1) {
|
||||
stripped = match[0] + stripped;
|
||||
for (i = 0; i < len; ++i) {
|
||||
match = url.match(/\/[^\/]*$/);
|
||||
if (i < len - 1) {
|
||||
stripped = match[0] + stripped;
|
||||
}
|
||||
url = url.substring(0, url.length - match[0].length);
|
||||
}
|
||||
url = url.substring(0, url.length - match[0].length);
|
||||
}
|
||||
|
||||
url += "/" + document.getElementsByClassName("version-selector")[0].value + stripped;
|
||||
url += "/" + document.getElementsByClassName("version-selector")[0].value + stripped;
|
||||
|
||||
document.location.href = url;
|
||||
};
|
||||
}
|
||||
document.location.href = url;
|
||||
};
|
||||
}
|
||||
}());
|
||||
|
||||
/**
|
||||
* A function to compute the Levenshtein distance between two strings
|
||||
|
@ -2259,7 +2261,7 @@ function defocusSearchBar() {
|
|||
}
|
||||
}
|
||||
|
||||
function collapser(e, collapse) {
|
||||
function collapser(pageId, e, collapse) {
|
||||
// inherent impl ids are like "impl" or impl-<number>'.
|
||||
// they will never be hidden by default.
|
||||
var n = e.parentElement;
|
||||
|
@ -2279,7 +2281,7 @@ function defocusSearchBar() {
|
|||
|
||||
if (impl_list !== null) {
|
||||
onEachLazy(impl_list.getElementsByClassName("collapse-toggle"), function(e) {
|
||||
collapser(e, collapse);
|
||||
collapser(pageId, e, collapse);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -2287,7 +2289,7 @@ function defocusSearchBar() {
|
|||
|
||||
if (blanket_list !== null) {
|
||||
onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"), function(e) {
|
||||
collapser(e, collapse);
|
||||
collapser(pageId, e, collapse);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -2311,103 +2313,7 @@ function defocusSearchBar() {
|
|||
return toggle;
|
||||
}
|
||||
|
||||
var toggle = createSimpleToggle(false);
|
||||
var hideMethodDocs = getCurrentValue("rustdoc-auto-hide-method-docs") === "true";
|
||||
var pageId = getPageId();
|
||||
|
||||
var func = function(e) {
|
||||
var next = e.nextElementSibling;
|
||||
if (!next) {
|
||||
return;
|
||||
}
|
||||
if (hasClass(next, "docblock") === true ||
|
||||
(hasClass(next, "stability") === true &&
|
||||
hasClass(next.nextElementSibling, "docblock") === true)) {
|
||||
var newToggle = toggle.cloneNode(true);
|
||||
insertAfter(newToggle, e.childNodes[e.childNodes.length - 1]);
|
||||
if (hideMethodDocs === true && hasClass(e, "method") === true) {
|
||||
collapseDocs(newToggle, "hide", pageId);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var funcImpl = function(e) {
|
||||
var next = e.nextElementSibling;
|
||||
if (next && hasClass(next, "docblock")) {
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
if (!next) {
|
||||
return;
|
||||
}
|
||||
if (next.getElementsByClassName("method").length > 0 && hasClass(e, "impl")) {
|
||||
insertAfter(toggle.cloneNode(true), e.childNodes[e.childNodes.length - 1]);
|
||||
}
|
||||
};
|
||||
|
||||
onEachLazy(document.getElementsByClassName("method"), func);
|
||||
onEachLazy(document.getElementsByClassName("associatedconstant"), func);
|
||||
onEachLazy(document.getElementsByClassName("impl"), funcImpl);
|
||||
var impl_call = function() {};
|
||||
if (hideMethodDocs === true) {
|
||||
impl_call = function(e, newToggle, pageId) {
|
||||
if (e.id.match(/^impl(?:-\d+)?$/) === null) {
|
||||
// Automatically minimize all non-inherent impls
|
||||
if (hasClass(e, "impl") === true) {
|
||||
collapseDocs(newToggle, "hide", pageId);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
var newToggle = document.createElement("a");
|
||||
newToggle.href = "javascript:void(0)";
|
||||
newToggle.className = "collapse-toggle hidden-default collapsed";
|
||||
newToggle.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(true) +
|
||||
"</span>] Show hidden undocumented items";
|
||||
function toggleClicked() {
|
||||
if (hasClass(this, "collapsed")) {
|
||||
removeClass(this, "collapsed");
|
||||
onEachLazy(this.parentNode.getElementsByClassName("hidden"), function(x) {
|
||||
if (hasClass(x, "content") === false) {
|
||||
removeClass(x, "hidden");
|
||||
addClass(x, "x");
|
||||
}
|
||||
}, true);
|
||||
this.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(false) +
|
||||
"</span>] Hide undocumented items";
|
||||
} else {
|
||||
addClass(this, "collapsed");
|
||||
onEachLazy(this.parentNode.getElementsByClassName("x"), function(x) {
|
||||
if (hasClass(x, "content") === false) {
|
||||
addClass(x, "hidden");
|
||||
removeClass(x, "x");
|
||||
}
|
||||
}, true);
|
||||
this.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(true) +
|
||||
"</span>] Show hidden undocumented items";
|
||||
}
|
||||
}
|
||||
onEachLazy(document.getElementsByClassName("impl-items"), function(e) {
|
||||
onEachLazy(e.getElementsByClassName("associatedconstant"), func);
|
||||
var hiddenElems = e.getElementsByClassName("hidden");
|
||||
var needToggle = false;
|
||||
|
||||
var hlength = hiddenElems.length;
|
||||
for (var i = 0; i < hlength; ++i) {
|
||||
if (hasClass(hiddenElems[i], "content") === false &&
|
||||
hasClass(hiddenElems[i], "docblock") === false) {
|
||||
needToggle = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (needToggle === true) {
|
||||
var inner_toggle = newToggle.cloneNode(true);
|
||||
inner_toggle.onclick = toggleClicked;
|
||||
e.insertBefore(inner_toggle, e.firstChild);
|
||||
impl_call(e.previousSibling, inner_toggle, pageId);
|
||||
}
|
||||
});
|
||||
|
||||
function createToggle(otherMessage, fontSize, extraClass, show) {
|
||||
function createToggle(toggle, otherMessage, fontSize, extraClass, show) {
|
||||
var span = document.createElement("span");
|
||||
span.className = "toggle-label";
|
||||
if (show) {
|
||||
|
@ -2442,97 +2348,197 @@ function defocusSearchBar() {
|
|||
return wrapper;
|
||||
}
|
||||
|
||||
var currentType = document.getElementsByClassName("type-decl")[0];
|
||||
var className = null;
|
||||
if (currentType) {
|
||||
currentType = currentType.getElementsByClassName("rust")[0];
|
||||
if (currentType) {
|
||||
currentType.classList.forEach(function(item) {
|
||||
if (item !== "main") {
|
||||
className = item;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
var showItemDeclarations = getCurrentValue("rustdoc-auto-hide-" + className);
|
||||
if (showItemDeclarations === null) {
|
||||
if (className === "enum" || className === "macro") {
|
||||
showItemDeclarations = "false";
|
||||
} else if (className === "struct" || className === "union" || className === "trait") {
|
||||
showItemDeclarations = "true";
|
||||
} else {
|
||||
// In case we found an unknown type, we just use the "parent" value.
|
||||
showItemDeclarations = getCurrentValue("rustdoc-auto-hide-declarations");
|
||||
}
|
||||
}
|
||||
showItemDeclarations = showItemDeclarations === "false";
|
||||
function buildToggleWrapper(e) {
|
||||
if (hasClass(e, "autohide")) {
|
||||
var wrap = e.previousElementSibling;
|
||||
if (wrap && hasClass(wrap, "toggle-wrapper")) {
|
||||
var inner_toggle = wrap.childNodes[0];
|
||||
var extra = e.childNodes[0].tagName === "H3";
|
||||
(function() {
|
||||
var toggle = createSimpleToggle(false);
|
||||
var hideMethodDocs = getCurrentValue("rustdoc-auto-hide-method-docs") === "true";
|
||||
var pageId = getPageId();
|
||||
|
||||
e.style.display = "none";
|
||||
addClass(wrap, "collapsed");
|
||||
onEachLazy(inner_toggle.getElementsByClassName("inner"), function(e) {
|
||||
e.innerHTML = labelForToggleButton(true);
|
||||
});
|
||||
onEachLazy(inner_toggle.getElementsByClassName("toggle-label"), function(e) {
|
||||
e.style.display = "inline-block";
|
||||
if (extra === true) {
|
||||
i_e.innerHTML = " Show " + e.childNodes[0].innerHTML;
|
||||
var func = function(e) {
|
||||
var next = e.nextElementSibling;
|
||||
if (!next) {
|
||||
return;
|
||||
}
|
||||
if (hasClass(next, "docblock") === true ||
|
||||
(hasClass(next, "stability") === true &&
|
||||
hasClass(next.nextElementSibling, "docblock") === true)) {
|
||||
var newToggle = toggle.cloneNode(true);
|
||||
insertAfter(newToggle, e.childNodes[e.childNodes.length - 1]);
|
||||
if (hideMethodDocs === true && hasClass(e, "method") === true) {
|
||||
collapseDocs(newToggle, "hide", pageId);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var funcImpl = function(e) {
|
||||
var next = e.nextElementSibling;
|
||||
if (next && hasClass(next, "docblock")) {
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
if (!next) {
|
||||
return;
|
||||
}
|
||||
if (next.getElementsByClassName("method").length > 0 && hasClass(e, "impl")) {
|
||||
insertAfter(toggle.cloneNode(true), e.childNodes[e.childNodes.length - 1]);
|
||||
}
|
||||
};
|
||||
|
||||
onEachLazy(document.getElementsByClassName("method"), func);
|
||||
onEachLazy(document.getElementsByClassName("associatedconstant"), func);
|
||||
onEachLazy(document.getElementsByClassName("impl"), funcImpl);
|
||||
var impl_call = function() {};
|
||||
if (hideMethodDocs === true) {
|
||||
impl_call = function(e, newToggle) {
|
||||
if (e.id.match(/^impl(?:-\d+)?$/) === null) {
|
||||
// Automatically minimize all non-inherent impls
|
||||
if (hasClass(e, "impl") === true) {
|
||||
collapseDocs(newToggle, "hide", pageId);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
var newToggle = document.createElement("a");
|
||||
newToggle.href = "javascript:void(0)";
|
||||
newToggle.className = "collapse-toggle hidden-default collapsed";
|
||||
newToggle.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(true) +
|
||||
"</span>] Show hidden undocumented items";
|
||||
function toggleClicked() {
|
||||
if (hasClass(this, "collapsed")) {
|
||||
removeClass(this, "collapsed");
|
||||
onEachLazy(this.parentNode.getElementsByClassName("hidden"), function(x) {
|
||||
if (hasClass(x, "content") === false) {
|
||||
removeClass(x, "hidden");
|
||||
addClass(x, "x");
|
||||
}
|
||||
}, true);
|
||||
this.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(false) +
|
||||
"</span>] Hide undocumented items";
|
||||
} else {
|
||||
addClass(this, "collapsed");
|
||||
onEachLazy(this.parentNode.getElementsByClassName("x"), function(x) {
|
||||
if (hasClass(x, "content") === false) {
|
||||
addClass(x, "hidden");
|
||||
removeClass(x, "x");
|
||||
}
|
||||
}, true);
|
||||
this.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(true) +
|
||||
"</span>] Show hidden undocumented items";
|
||||
}
|
||||
}
|
||||
onEachLazy(document.getElementsByClassName("impl-items"), function(e) {
|
||||
onEachLazy(e.getElementsByClassName("associatedconstant"), func);
|
||||
var hiddenElems = e.getElementsByClassName("hidden");
|
||||
var needToggle = false;
|
||||
|
||||
var hlength = hiddenElems.length;
|
||||
for (var i = 0; i < hlength; ++i) {
|
||||
if (hasClass(hiddenElems[i], "content") === false &&
|
||||
hasClass(hiddenElems[i], "docblock") === false) {
|
||||
needToggle = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (needToggle === true) {
|
||||
var inner_toggle = newToggle.cloneNode(true);
|
||||
inner_toggle.onclick = toggleClicked;
|
||||
e.insertBefore(inner_toggle, e.firstChild);
|
||||
impl_call(e.previousSibling, inner_toggle);
|
||||
}
|
||||
});
|
||||
|
||||
var currentType = document.getElementsByClassName("type-decl")[0];
|
||||
var className = null;
|
||||
if (currentType) {
|
||||
currentType = currentType.getElementsByClassName("rust")[0];
|
||||
if (currentType) {
|
||||
currentType.classList.forEach(function(item) {
|
||||
if (item !== "main") {
|
||||
className = item;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (e.parentNode.id === "main") {
|
||||
var otherMessage = "";
|
||||
var fontSize;
|
||||
var extraClass;
|
||||
|
||||
if (hasClass(e, "type-decl")) {
|
||||
fontSize = "20px";
|
||||
otherMessage = " Show declaration";
|
||||
if (showItemDeclarations === false) {
|
||||
extraClass = "collapsed";
|
||||
}
|
||||
} else if (hasClass(e, "sub-variant")) {
|
||||
otherMessage = " Show fields";
|
||||
} else if (hasClass(e, "non-exhaustive")) {
|
||||
otherMessage = " This ";
|
||||
if (hasClass(e, "non-exhaustive-struct")) {
|
||||
otherMessage += "struct";
|
||||
} else if (hasClass(e, "non-exhaustive-enum")) {
|
||||
otherMessage += "enum";
|
||||
} else if (hasClass(e, "non-exhaustive-variant")) {
|
||||
otherMessage += "enum variant";
|
||||
} else if (hasClass(e, "non-exhaustive-type")) {
|
||||
otherMessage += "type";
|
||||
}
|
||||
otherMessage += " is marked as non-exhaustive";
|
||||
} else if (hasClass(e.childNodes[0], "impl-items")) {
|
||||
extraClass = "marg-left";
|
||||
}
|
||||
|
||||
e.parentNode.insertBefore(
|
||||
createToggle(otherMessage,
|
||||
fontSize,
|
||||
extraClass,
|
||||
hasClass(e, "type-decl") === false || showItemDeclarations === true),
|
||||
e);
|
||||
if (hasClass(e, "type-decl") === true && showItemDeclarations === true) {
|
||||
collapseDocs(e.previousSibling.childNodes[0], "toggle");
|
||||
}
|
||||
if (hasClass(e, "non-exhaustive") === true) {
|
||||
collapseDocs(e.previousSibling.childNodes[0], "toggle");
|
||||
var showItemDeclarations = getCurrentValue("rustdoc-auto-hide-" + className);
|
||||
if (showItemDeclarations === null) {
|
||||
if (className === "enum" || className === "macro") {
|
||||
showItemDeclarations = "false";
|
||||
} else if (className === "struct" || className === "union" || className === "trait") {
|
||||
showItemDeclarations = "true";
|
||||
} else {
|
||||
// In case we found an unknown type, we just use the "parent" value.
|
||||
showItemDeclarations = getCurrentValue("rustdoc-auto-hide-declarations");
|
||||
}
|
||||
}
|
||||
}
|
||||
showItemDeclarations = showItemDeclarations === "false";
|
||||
function buildToggleWrapper(e) {
|
||||
if (hasClass(e, "autohide")) {
|
||||
var wrap = e.previousElementSibling;
|
||||
if (wrap && hasClass(wrap, "toggle-wrapper")) {
|
||||
var inner_toggle = wrap.childNodes[0];
|
||||
var extra = e.childNodes[0].tagName === "H3";
|
||||
|
||||
onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper);
|
||||
onEachLazy(document.getElementsByClassName("sub-variant"), buildToggleWrapper);
|
||||
e.style.display = "none";
|
||||
addClass(wrap, "collapsed");
|
||||
onEachLazy(inner_toggle.getElementsByClassName("inner"), function(e) {
|
||||
e.innerHTML = labelForToggleButton(true);
|
||||
});
|
||||
onEachLazy(inner_toggle.getElementsByClassName("toggle-label"), function(e) {
|
||||
e.style.display = "inline-block";
|
||||
if (extra === true) {
|
||||
i_e.innerHTML = " Show " + e.childNodes[0].innerHTML;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (e.parentNode.id === "main") {
|
||||
var otherMessage = "";
|
||||
var fontSize;
|
||||
var extraClass;
|
||||
|
||||
if (hasClass(e, "type-decl")) {
|
||||
fontSize = "20px";
|
||||
otherMessage = " Show declaration";
|
||||
if (showItemDeclarations === false) {
|
||||
extraClass = "collapsed";
|
||||
}
|
||||
} else if (hasClass(e, "sub-variant")) {
|
||||
otherMessage = " Show fields";
|
||||
} else if (hasClass(e, "non-exhaustive")) {
|
||||
otherMessage = " This ";
|
||||
if (hasClass(e, "non-exhaustive-struct")) {
|
||||
otherMessage += "struct";
|
||||
} else if (hasClass(e, "non-exhaustive-enum")) {
|
||||
otherMessage += "enum";
|
||||
} else if (hasClass(e, "non-exhaustive-variant")) {
|
||||
otherMessage += "enum variant";
|
||||
} else if (hasClass(e, "non-exhaustive-type")) {
|
||||
otherMessage += "type";
|
||||
}
|
||||
otherMessage += " is marked as non-exhaustive";
|
||||
} else if (hasClass(e.childNodes[0], "impl-items")) {
|
||||
extraClass = "marg-left";
|
||||
}
|
||||
|
||||
e.parentNode.insertBefore(
|
||||
createToggle(
|
||||
toggle,
|
||||
otherMessage,
|
||||
fontSize,
|
||||
extraClass,
|
||||
hasClass(e, "type-decl") === false || showItemDeclarations === true),
|
||||
e);
|
||||
if (hasClass(e, "type-decl") === true && showItemDeclarations === true) {
|
||||
collapseDocs(e.previousSibling.childNodes[0], "toggle");
|
||||
}
|
||||
if (hasClass(e, "non-exhaustive") === true) {
|
||||
collapseDocs(e.previousSibling.childNodes[0], "toggle");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper);
|
||||
onEachLazy(document.getElementsByClassName("sub-variant"), buildToggleWrapper);
|
||||
}());
|
||||
|
||||
function createToggleWrapper(tog) {
|
||||
var span = document.createElement("span");
|
||||
|
@ -2547,56 +2553,60 @@ function defocusSearchBar() {
|
|||
return wrapper;
|
||||
}
|
||||
|
||||
// To avoid checking on "rustdoc-item-attributes" value on every loop...
|
||||
var itemAttributesFunc = function() {};
|
||||
if (getCurrentValue("rustdoc-auto-hide-attributes") !== "false") {
|
||||
itemAttributesFunc = function(x) {
|
||||
collapseDocs(x.previousSibling.childNodes[0], "toggle");
|
||||
};
|
||||
}
|
||||
var attributesToggle = createToggleWrapper(createSimpleToggle(false));
|
||||
onEachLazy(main.getElementsByClassName("attributes"), function(i_e) {
|
||||
var attr_tog = attributesToggle.cloneNode(true);
|
||||
if (hasClass(i_e, "top-attr") === true) {
|
||||
addClass(attr_tog, "top-attr");
|
||||
(function() {
|
||||
// To avoid checking on "rustdoc-item-attributes" value on every loop...
|
||||
var itemAttributesFunc = function() {};
|
||||
if (getCurrentValue("rustdoc-auto-hide-attributes") !== "false") {
|
||||
itemAttributesFunc = function(x) {
|
||||
collapseDocs(x.previousSibling.childNodes[0], "toggle");
|
||||
};
|
||||
}
|
||||
i_e.parentNode.insertBefore(attr_tog, i_e);
|
||||
itemAttributesFunc(i_e);
|
||||
});
|
||||
|
||||
// To avoid checking on "rustdoc-line-numbers" value on every loop...
|
||||
var lineNumbersFunc = function() {};
|
||||
if (getCurrentValue("rustdoc-line-numbers") === "true") {
|
||||
lineNumbersFunc = function(x) {
|
||||
var count = x.textContent.split("\n").length;
|
||||
var elems = [];
|
||||
for (var i = 0; i < count; ++i) {
|
||||
elems.push(i + 1);
|
||||
var attributesToggle = createToggleWrapper(createSimpleToggle(false));
|
||||
onEachLazy(main.getElementsByClassName("attributes"), function(i_e) {
|
||||
var attr_tog = attributesToggle.cloneNode(true);
|
||||
if (hasClass(i_e, "top-attr") === true) {
|
||||
addClass(attr_tog, "top-attr");
|
||||
}
|
||||
var node = document.createElement("pre");
|
||||
addClass(node, "line-number");
|
||||
node.innerHTML = elems.join("\n");
|
||||
x.parentNode.insertBefore(node, x);
|
||||
};
|
||||
}
|
||||
onEachLazy(document.getElementsByClassName("rust-example-rendered"), function(e) {
|
||||
if (hasClass(e, "compile_fail")) {
|
||||
e.addEventListener("mouseover", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "#f00";
|
||||
});
|
||||
e.addEventListener("mouseout", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "";
|
||||
});
|
||||
} else if (hasClass(e, "ignore")) {
|
||||
e.addEventListener("mouseover", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "#ff9200";
|
||||
});
|
||||
e.addEventListener("mouseout", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "";
|
||||
});
|
||||
i_e.parentNode.insertBefore(attr_tog, i_e);
|
||||
itemAttributesFunc(i_e);
|
||||
});
|
||||
}());
|
||||
|
||||
(function() {
|
||||
// To avoid checking on "rustdoc-line-numbers" value on every loop...
|
||||
var lineNumbersFunc = function() {};
|
||||
if (getCurrentValue("rustdoc-line-numbers") === "true") {
|
||||
lineNumbersFunc = function(x) {
|
||||
var count = x.textContent.split("\n").length;
|
||||
var elems = [];
|
||||
for (var i = 0; i < count; ++i) {
|
||||
elems.push(i + 1);
|
||||
}
|
||||
var node = document.createElement("pre");
|
||||
addClass(node, "line-number");
|
||||
node.innerHTML = elems.join("\n");
|
||||
x.parentNode.insertBefore(node, x);
|
||||
};
|
||||
}
|
||||
lineNumbersFunc(e);
|
||||
});
|
||||
onEachLazy(document.getElementsByClassName("rust-example-rendered"), function(e) {
|
||||
if (hasClass(e, "compile_fail")) {
|
||||
e.addEventListener("mouseover", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "#f00";
|
||||
});
|
||||
e.addEventListener("mouseout", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "";
|
||||
});
|
||||
} else if (hasClass(e, "ignore")) {
|
||||
e.addEventListener("mouseover", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "#ff9200";
|
||||
});
|
||||
e.addEventListener("mouseout", function(event) {
|
||||
this.parentElement.previousElementSibling.childNodes[0].style.color = "";
|
||||
});
|
||||
}
|
||||
lineNumbersFunc(e);
|
||||
});
|
||||
}());
|
||||
|
||||
// In the search display, allows to switch between tabs.
|
||||
function printTab(nb) {
|
||||
|
|
Loading…
Add table
Reference in a new issue