{}{}
", - match it.inner { - clean::StructItem(..) => "Struct ", - clean::TraitItem(..) => "Trait ", - clean::PrimitiveItem(..) => "Primitive Type ", - clean::UnionItem(..) => "Union ", - clean::EnumItem(..) => "Enum ", - clean::TypedefItem(..) => "Type Definition ", - clean::ForeignTypeItem => "Foreign Type ", - clean::ModuleItem(..) => if it.is_crate() { - "Crate " - } else { - "Module " - }, - _ => "", + if it.is_struct() || it.is_trait() || it.is_primitive() || it.is_union() + || it.is_enum() || it.is_mod() || it.is_typedef() { + write!(buffer, "{}{}
", + match it.inner { + clean::StructItem(..) => "Struct ", + clean::TraitItem(..) => "Trait ", + clean::PrimitiveItem(..) => "Primitive Type ", + clean::UnionItem(..) => "Union ", + clean::EnumItem(..) => "Enum ", + clean::TypedefItem(..) => "Type Definition ", + clean::ForeignTypeItem => "Foreign Type ", + clean::ModuleItem(..) => if it.is_crate() { + "Crate " + } else { + "Module " }, - it.name.as_ref().unwrap()); - } - - if it.is_crate() { - if let Some(ref version) = cache().crate_version { - write!(buffer, - "Version {}
\ -Version {}
\ +")?;
- for i in 1..=lines {
- write!(fmt, "{0:1$}\n", i, cols)?;
- }
- write!(fmt, "")?;
- write!(fmt, "{}",
- highlight::render_with_highlighting(s, None, None, None))?;
- Ok(())
+fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
+ let Source(s) = *self;
+ let lines = s.lines().count();
+ let mut cols = 0;
+ let mut tmp = lines;
+ while tmp > 0 {
+ cols += 1;
+ tmp /= 10;
}
+ write!(fmt, "")?;
+ for i in 1..=lines {
+ write!(fmt, "{0:1$}\n", i, cols)?;
+ }
+ write!(fmt, "")?;
+ write!(fmt, "{}",
+ highlight::render_with_highlighting(s, None, None, None))?;
+ Ok(())
+}
}