aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/translators/documentables
diff options
context:
space:
mode:
authorMarcin Aman <marcin.aman@gmail.com>2021-08-25 20:55:41 +0200
committerGitHub <noreply@github.com>2021-08-25 20:55:41 +0200
commitf2adc0a50462a63f7e1901db2e58077001acd622 (patch)
treea0a21d3c99b2d8cbe77ebf95d865aabd36d6598f /plugins/base/src/main/kotlin/translators/documentables
parent939cbcd4d867961516da71f7c55d037ec88cb7f3 (diff)
parentefc9f92b0ac083c73ac494c95b530305ac04115a (diff)
downloaddokka-f2adc0a50462a63f7e1901db2e58077001acd622.tar.gz
dokka-f2adc0a50462a63f7e1901db2e58077001acd622.tar.bz2
dokka-f2adc0a50462a63f7e1901db2e58077001acd622.zip
Merge pull request #2066 from Kotlin/webhelp-like-frontend
Webhelp like frontend
Diffstat (limited to 'plugins/base/src/main/kotlin/translators/documentables')
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt18
1 files changed, 14 insertions, 4 deletions
diff --git a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
index 2db55d45..f9bc7e26 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
@@ -122,6 +122,13 @@ open class PageContentBuilder(
header(1, text, sourceSets = sourceSets, styles = styles, extra = extra, block = block)
}
+ fun constant(text: String) = text(text, styles = mainStyles + TokenStyle.Constant)
+ fun keyword(text: String) = text(text, styles = mainStyles + TokenStyle.Keyword)
+ fun stringLiteral(text: String) = text(text, styles = mainStyles + TokenStyle.String)
+ fun booleanLiteral(value: Boolean) = text(value.toString(), styles = mainStyles + TokenStyle.Boolean)
+ fun punctuation(text: String) = text(text, styles = mainStyles + TokenStyle.Punctuation)
+ fun operator(text: String) = text(text, styles = mainStyles + TokenStyle.Operator)
+
fun text(
text: String,
kind: Kind = ContentKind.Main,
@@ -194,16 +201,18 @@ open class PageContentBuilder(
suffix: String = "",
separator: String = ", ",
sourceSets: Set<DokkaSourceSet> = mainSourcesetData, // TODO: children should be aware of this platform data
+ surroundingCharactersStyle: Set<Style> = mainStyles,
+ separatorStyles: Set<Style> = mainStyles,
operation: DocumentableContentBuilder.(T) -> Unit
) {
if (elements.isNotEmpty()) {
- if (prefix.isNotEmpty()) text(prefix, sourceSets = sourceSets)
+ if (prefix.isNotEmpty()) text(prefix, sourceSets = sourceSets, styles = surroundingCharactersStyle)
elements.dropLast(1).forEach {
operation(it)
- text(separator, sourceSets = sourceSets)
+ text(separator, sourceSets = sourceSets, styles = separatorStyles)
}
operation(elements.last())
- if (suffix.isNotEmpty()) text(suffix, sourceSets = sourceSets)
+ if (suffix.isNotEmpty()) text(suffix, sourceSets = sourceSets, styles = surroundingCharactersStyle)
}
}
@@ -404,11 +413,12 @@ open class PageContentBuilder(
fun <T> sourceSetDependentText(
value: SourceSetDependent<T>,
sourceSets: Set<DokkaSourceSet> = value.keys,
+ styles: Set<Style> = mainStyles,
transform: (T) -> String
) = value.entries.filter { it.key in sourceSets }.mapNotNull { (p, v) ->
transform(v).takeIf { it.isNotBlank() }?.let { it to p }
}.groupBy({ it.first }) { it.second }.forEach {
- text(it.key, sourceSets = it.value.toSet())
+ text(it.key, sourceSets = it.value.toSet(), styles = styles)
}
}