diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml
index 787bbe42c2..d3d8da4017 100644
--- a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml
+++ b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml
@@ -14,18 +14,20 @@
-%><%= index_klass.name %>
<%-
end
end
- -%>
- <%- traverse = proc do |klasses| -%>
+ if top = all_classes[nil]
+ solo = top.one? {|klass| klass.display?}
+ traverse = proc do |klasses| -%>
- <%- klasses.each do |index_klass| -%>
- <%- if children = all_classes[index_klass.full_name] -%>
- <% link.call(index_klass) %>
- <%- traverse.call(children) -%>
+ <%- klasses.each do |index_klass| -%>
+ <%- if children = all_classes[index_klass.full_name] -%>
+ open<% end %>><% link.call(index_klass) %>
+ <%- traverse.call(children) -%>
- <%- elsif index_klass.display? -%>
+ <%- elsif index_klass.display? -%>
<% link.call(index_klass, true) %>
+ <%- end -%>
<%- end -%>
<%- end -%>
+ <%- traverse.call(top) -%>
<%- end -%>
- <%- traverse.call(all_classes[nil]) -%>