aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/Model
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/kotlin/Model')
-rw-r--r--core/src/main/kotlin/Model/PackageDocs.kt13
1 files changed, 9 insertions, 4 deletions
diff --git a/core/src/main/kotlin/Model/PackageDocs.kt b/core/src/main/kotlin/Model/PackageDocs.kt
index 5ebf2119..d057d4d0 100644
--- a/core/src/main/kotlin/Model/PackageDocs.kt
+++ b/core/src/main/kotlin/Model/PackageDocs.kt
@@ -17,7 +17,7 @@ class PackageDocs
val packageContent: Map<String, Content>
get() = _packageContent
- fun parse(fileName: String, linkResolveContext: LazyPackageDescriptor?) {
+ fun parse(fileName: String, linkResolveContext: List<LazyPackageDescriptor>) {
val file = File(fileName)
if (file.exists()) {
val text = file.readText()
@@ -51,9 +51,14 @@ class PackageDocs
private fun findOrCreatePackageContent(packageName: String) =
_packageContent.getOrPut(packageName) { -> MutableContent() }
- private fun resolveContentLink(href: String, linkResolveContext: LazyPackageDescriptor?): ContentBlock {
- if (linkResolveContext != null && linkResolver != null) {
- return linkResolver.resolveContentLink(linkResolveContext, href)
+ private fun resolveContentLink(href: String, linkResolveContext: List<LazyPackageDescriptor>): ContentBlock {
+ if (linkResolver != null) {
+ linkResolveContext
+ .asSequence()
+ .map { p -> linkResolver.tryResolveContentLink(p, href) }
+ .filterNotNull()
+ .firstOrNull()
+ ?.let { return it }
}
return ContentExternalLink("#")
}