diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-05-03 11:40:56 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-08-19 15:37:21 +0200 |
commit | 0fb1058cafc8c8a72c9d97e3aa1ff7584a28ec82 (patch) | |
tree | 6a9a2a54271139194d20048acf9a3be945adcad3 | |
parent | db659dc0a199a77466088aeaf0ad50d4815e9308 (diff) | |
download | dotty-0fb1058cafc8c8a72c9d97e3aa1ff7584a28ec82.tar.gz dotty-0fb1058cafc8c8a72c9d97e3aa1ff7584a28ec82.tar.bz2 dotty-0fb1058cafc8c8a72c9d97e3aa1ff7584a28ec82.zip |
Filter out companion objects from package-view
-rw-r--r-- | dottydoc/jvm/src/dotty/tools/dottydoc/html/Html.scala | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/html/Html.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/html/Html.scala index 91bf4d773..216794ac7 100644 --- a/dottydoc/jvm/src/dotty/tools/dottydoc/html/Html.scala +++ b/dottydoc/jvm/src/dotty/tools/dottydoc/html/Html.scala @@ -49,7 +49,7 @@ case class EntityPage(entity: Entity, packages: Map[String, Package]) { ), nav( cls := "related mdl-navigation", - companion, + companionAnchor, a(cls := "mdl-navigation__link", href := "#", "Source") ), span( @@ -90,7 +90,9 @@ case class EntityPage(entity: Entity, packages: Map[String, Package]) { val children = pack.children .sortBy(_.name) - .filterNot(_.kind == "package") + .filterNot { ent => + ent.kind == "package" || (ent.kind == "object" && companion(ent).isDefined) + } .map { entity => a( cls := "mdl-navigation__link entity", @@ -106,19 +108,22 @@ case class EntityPage(entity: Entity, packages: Map[String, Package]) { } ) - def companion = { + def companion(entity: Entity) = { val pack = entity.path.dropRight(1).mkString(".") - packages.get(pack) - .flatMap { p => - p.children.find(e => e.name == entity.name && e.path.last != entity.path.last) - } - .map { c => - a( - cls := "mdl-navigation__link", - href := c.path.last + ".html", - "Companion " + c.kind - ) - }.getOrElse(span()) + (for { + p <- packages.get(pack) + child <- p.children.find(e => e.name == entity.name && e.path.last != entity.path.last) + } yield child) + } + + def companionAnchor = { + companion(entity).map { c => + a( + cls := "mdl-navigation__link", + href := c.path.last + ".html", + "Companion " + c.kind + ) + }.getOrElse(span()) } def searchView = div( |