@@ -22,11 +22,10 @@ class ScalaSearchbarDataInstaller(val ctx: DokkaContext) extends SearchbarDataIn
2222
2323 case class PageEntry (val name : String , val signature : String , val link : String , val pkg : String )
2424
25- // We need to use there mutable, concurrent collections because Dokka renders content concurrently
25+ // We need to use there mutable, concurrent collections because Dokka renders content concurrently
2626 // and adds entry to searchbar on start of processing page
2727 val pages = TrieMap [String , PageEntry ]()
2828
29- val signatureProvider = querySingle[DokkaBase , SignatureProvider ](ctx, _.getSignatureProvider)
3029
3130 override def processPage (page : ContentPage , link : String ) =
3231 Option (page.getDocumentable) match {
@@ -37,23 +36,16 @@ class ScalaSearchbarDataInstaller(val ctx: DokkaContext) extends SearchbarDataIn
3736 }
3837 }
3938
40- def flattenToText (node : ContentNode ): String = {
41- def getContentTextNodes (node : ContentNode , sourceSetRestriciton : DisplaySourceSet ): List [ContentText ] = node match {
42- case t : ContentText => List (t)
43- case c : ContentComposite if c.getDci.getKind != ContentKind .Annotations => c.getChildren.asScala
44- .filter(_.getSourceSets.asScala.contains(sourceSetRestriciton))
45- .flatMap(getContentTextNodes(_, sourceSetRestriciton))
46- .toList
47- case _ => List .empty
48- }
49-
50- val sourceSetRestriciton = node.getSourceSets.asScala.find(_.getPlatform == Platform .common).getOrElse(node.getSourceSets.asScala.head)
51- getContentTextNodes(node, sourceSetRestriciton).map(_.getText).mkString(" " )
52- }
39+ def flattenToText (signature : Signature ): String =
40+ signature.map {
41+ case Link (name, dri) => name
42+ case s : String => s
43+ }.mkString
5344
5445 def processMember (member : Member , link : String ) = {
55- val memberSignature = flattenToText(signatureProvider.signature(member).get(0 ))
56- val memberPackage = (Option (member.dri.getPackageName) ++ Option (member.dri.getClassNames) ++ Option (member.dri.getCallable)).mkString(" ." )
46+ val signatureBuilder = ScalaSignatureProvider .rawSignature(member, InlineSignatureBuilder ()).asInstanceOf [InlineSignatureBuilder ]
47+ val memberSignature = flattenToText(Seq (signatureBuilder.preName.head) ++ Seq (Link (member.name, member.dri)) ++ signatureBuilder.names.reverse)
48+ val memberPackage = Option (member.dri.getPackageName).mkString
5749 pages.addOne(memberSignature + link, PageEntry (member.name, memberSignature, link, memberPackage))
5850 }
5951
0 commit comments