diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 3320842c046..717aeaa1fd3 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -248,7 +248,9 @@ impl<'self> DocFolder for Cache { match item.name { Some(ref s) => { let parent = match item.inner { - clean::TyMethodItem(*) | clean::VariantItem(*) => { + clean::TyMethodItem(*) | + clean::StructFieldItem(*) | + clean::VariantItem(*) => { Some((Some(*self.parent_stack.last()), self.stack.slice_to(self.stack.len() - 1))) @@ -299,7 +301,7 @@ impl<'self> DocFolder for Cache { // Maintain the parent stack let parent_pushed = match item.inner { - clean::TraitItem(*) | clean::EnumItem(*) => { + clean::TraitItem(*) | clean::EnumItem(*) | clean::StructItem(*) => { self.parent_stack.push(item.id); true } clean::ImplItem(ref i) => { @@ -510,28 +512,6 @@ impl Context { let dst = self.dst.push(item_path(&item)); let writer = dst.open_writer(io::CreateOrTruncate); render(writer.unwrap(), self, &item, true); - - // recurse if necessary - let name = item.name.get_ref().clone(); - match item.inner { - clean::EnumItem(e) => { - let mut it = e.variants.move_iter(); - do self.recurse(name) |this| { - for item in it { - f(this, item); - } - } - } - clean::StructItem(s) => { - let mut it = s.fields.move_iter(); - do self.recurse(name) |this| { - for item in it { - f(this, item); - } - } - } - _ => {} - } } _ => {} @@ -613,9 +593,6 @@ impl<'self> fmt::Default for Item<'self> { clean::StructItem(ref s) => item_struct(fmt.buf, it.item, s), clean::EnumItem(ref e) => item_enum(fmt.buf, it.item, e), clean::TypedefItem(ref t) => item_typedef(fmt.buf, it.item, t), - clean::VariantItem(*) => item_variant(fmt.buf, it.cx, it.item), - clean::StructFieldItem(*) => item_struct_field(fmt.buf, it.cx, - it.item), _ => {} } } @@ -862,7 +839,8 @@ fn item_trait(w: &mut io::Writer, it: &clean::Item, t: &clean::Trait) { document(w, it); fn meth(w: &mut io::Writer, m: &clean::TraitMethod) { - write!(w, "
",
+ write!(w, "",
+ shortty(m.item()),
*m.item().name.get_ref());
render_method(w, m.item(), false);
write!(w, "
");
@@ -923,13 +901,15 @@ fn render_method(w: &mut io::Writer, meth: &clean::Item, withlink: bool) {
g: &clean::Generics, selfty: &clean::SelfTy, d: &clean::FnDecl,
withlink: bool) {
write!(w, "{}fn {withlink, select,
- true{{name}}
+ true{{name}}
other{{name}}
}{generics}{decl}",
match purity {
ast::unsafe_fn => "unsafe ",
_ => "",
},
+ ty = shortty(it),
name = it.name.get_ref().as_slice(),
generics = *g,
decl = Method(selfty, d),
@@ -1014,7 +994,7 @@ fn render_struct(w: &mut io::Writer, it: &clean::Item,
for field in fields.iter() {
match field.inner {
clean::StructFieldItem(ref ty) => {
- write!(w, " {}{name}: \
+ write!(w, " {}{name}: \
{},\n{}",
VisSpace(field.visibility),
ty.type_,
@@ -1089,7 +1069,7 @@ fn render_impl(w: &mut io::Writer, i: &clean::Impl) {
write!(w, "{}
",
+ write!(w, "",
*meth.name.get_ref());
render_method(w, meth, false);
write!(w, "
\n");
@@ -1196,21 +1176,3 @@ fn build_sidebar(m: &clean::Module) -> HashMap<~str, ~[~str]> {
}
return map;
}
-
-fn item_variant(w: &mut io::Writer, cx: &Context, it: &clean::Item) {
- write!(w, "\
- \
- ",
- *cx.current.last(),
- it.name.get_ref().as_slice());
-}
-
-fn item_struct_field(w: &mut io::Writer, cx: &Context, it: &clean::Item) {
- write!(w, "\
- \
- ",
- *cx.current.last(),
- it.name.get_ref().as_slice());
-}
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index b5ae3dadd77..881149b0dd2 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -265,25 +265,52 @@
output += '';
if (type === 'mod') {
- output += item.path + '::' + name + '';
+ output += item.path +
+ '::' + name + '';
} else if (type === 'static' || type === 'reexport') {
- output += item.path + '::' + name + '';
+ output += item.path +
+ '::' + name + '';
} else if (item.parent !== undefined) {
+ console.log(item);
var myparent = allPaths[item.parent];
- output += item.path + '::' + myparent.name + '::' + name + '';
+ var anchor = '#' + type + '.' + name;
+ output += item.path + '::' + myparent.name +
+ '::' + name + '';
} else {
- output += item.path + '::' + name + '';
+ output += item.path +
+ '::' + name + '';
}
- output += ' ' + item.desc + ' ';
+ output += '' + item.desc +
+ ' ';
});
} else {
- output += 'No results :( Try on DuckDuckGo?';
+ output += 'No results :( Try on DuckDuckGo?';
}
output += "";
$('.content').html(output);
- $('.search-results .desc').width($('.content').width() - 40 - $('.content td:first-child').first().width());
+ $('.search-results .desc').width($('.content').width() - 40 -
+ $('.content td:first-child').first().width());
initSearchNav();
}