@@ -22,11 +22,10 @@ class ScalaSearchbarDataInstaller(val ctx: DokkaContext) extends SearchbarDataIn
22
22
23
23
case class PageEntry (val name : String , val signature : String , val link : String , val pkg : String )
24
24
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
26
26
// and adds entry to searchbar on start of processing page
27
27
val pages = TrieMap [String , PageEntry ]()
28
28
29
- val signatureProvider = querySingle[DokkaBase , SignatureProvider ](ctx, _.getSignatureProvider)
30
29
31
30
override def processPage (page : ContentPage , link : String ) =
32
31
Option (page.getDocumentable) match {
@@ -37,23 +36,16 @@ class ScalaSearchbarDataInstaller(val ctx: DokkaContext) extends SearchbarDataIn
37
36
}
38
37
}
39
38
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
53
44
54
45
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
57
49
pages.addOne(memberSignature + link, PageEntry (member.name, memberSignature, link, memberPackage))
58
50
}
59
51
0 commit comments