X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustdoc%2Fhtml%2Fstatic%2Fmain.js;h=697199e9abf5a34fca3ca8bcb964cb526c31b4f6;hb=dbd29ea96ef77a67496bb44de382140354c23632;hp=9243f72dab7e9a9f104096a0cf945b5b995b71ca;hpb=445988b47811679144d0fa9b3a2ccf2348752850;p=rust.git diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 9243f72dab7..697199e9abf 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -514,9 +514,9 @@ // `rustdoc::html::item_type::ItemType` type in Rust. var itemTypes = ["mod", "struct", - "enum", + "type", "fn", - "typedef", + "type", "static", "trait", "impl", @@ -527,7 +527,8 @@ "variant", "ffi", "ffs", - "macro"]; + "macro", + "primitive"]; function itemTypeFromName(typename) { for (var i = 0; i < itemTypes.length; ++i) { @@ -646,11 +647,39 @@ } div.append($('', {'href': '../' + crates[i] + '/index.html', 'class': klass}).text(crates[i])); - div.append($('
')); } sidebar.append(div); } } window.initSearch = initSearch; + + window.register_implementors = function(imp) { + var list = $('#implementors-list'); + var libs = Object.getOwnPropertyNames(imp); + for (var i = 0; i < libs.length; i++) { + if (libs[i] == currentCrate) continue; + var structs = imp[libs[i]]; + for (var j = 0; j < structs.length; j++) { + var code = $('').append(structs[j]); + $.each(code.find('a'), function(idx, a) { + var href = $(a).attr('href'); + if (!href.startsWith('http')) { + $(a).attr('href', rootPath + $(a).attr('href')); + } + }); + var li = $('
  • ').append(code); + list.append(li); + } + } + }; + if (window.pending_implementors) { + window.register_implementors(window.pending_implementors); + } + + // See documentation in html/render.rs for what this is doing. + var query = getQueryStringParams(); + if (query['gotosrc']) { + window.location = $('#src-' + query['gotosrc']).attr('href'); + } }());