Indent forward declarations by namespace depth
diff --git a/gen/src/write.rs b/gen/src/write.rs
index b2046c5..9d07173 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -38,12 +38,13 @@
let apis_by_namespace =
NamespaceEntries::new(apis.iter().filter(needs_forward_declaration).collect());
- write(out, &apis_by_namespace);
+ write(out, &apis_by_namespace, 0);
- fn write(out: &mut OutFile, ns_entries: &NamespaceEntries) {
+ fn write(out: &mut OutFile, ns_entries: &NamespaceEntries, indent: usize) {
let apis = ns_entries.direct_content();
for api in apis {
+ write!(out, "{:1$}", "", indent);
match api {
Api::Struct(strct) => write_struct_decl(out, &strct.ident.cxx.ident),
Api::CxxType(ety) => write_struct_using(out, &ety.ident.cxx),
@@ -53,9 +54,9 @@
}
for (namespace, nested_ns_entries) in ns_entries.nested_content() {
- writeln!(out, "namespace {} {{", namespace);
- write(out, nested_ns_entries);
- writeln!(out, "}} // namespace {}", namespace);
+ writeln!(out, "{:2$}namespace {} {{", "", namespace, indent);
+ write(out, nested_ns_entries, indent + 2);
+ writeln!(out, "{:1$}}}", "", indent);
}
}
}