extern crate {}",
- name.as_slice()));
- match *src {
- Some(ref src) => try!(write!(w, " = \"{}\"",
- src.as_slice())),
- None => {}
+ let render_item = |myitem: &clean::Item| {
+ match myitem.inner {
+ clean::StaticItem(ref s) | clean::ForeignStaticItem(ref s) => {
+ struct Initializer<'a>(&'a str);
+ impl<'a> fmt::Show for Initializer<'a> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ let Initializer(s) = *self;
+ if s.len() == 0 { return Ok(()); }
+ try!(write!(f.buf, " = "));
+ let tag = if s.contains("\n") { "pre" } else { "code" };
+ try!(write!(f.buf, "<{tag}>{}{tag}>",
+ s.as_slice(), tag=tag));
+ Ok(())
+ }
+ }
+
+ try!(write!(w, "
+
+ {}static {}: {} {} |
+ {} |
+
+ ",
+ VisSpace(myitem.visibility),
+ *myitem.name.get_ref(),
+ s.type_,
+ Initializer(s.expr),
+ Markdown(blank(myitem.doc_value()))));
+ }
+
+ clean::ViewItemItem(ref item) => {
+ match item.inner {
+ clean::ExternCrate(ref name, ref src, _) => {
+ try!(write!(w, "extern crate {}",
+ name.as_slice()));
+ match *src {
+ Some(ref src) => try!(write!(w, " = \"{}\"",
+ src.as_slice())),
+ None => {}
+ }
+ try!(write!(w, "; | "));
+ }
+
+ clean::Import(ref import) => {
+ try!(write!(w, "{}{} | ",
+ VisSpace(myitem.visibility),
+ *import));
+ }
}
- try!(write!(w, "; |
"));
}
- clean::Import(ref import) => {
- try!(write!(w, "