From 4fa9524e52d8ff422bb355336e3810ab28ae135c Mon Sep 17 00:00:00 2001 From: vmishenev Date: Wed, 25 Aug 2021 17:14:31 +0300 Subject: Manual highlighting webhelp (#2079) * Add manual code highlighting * Fix test * Add kotlinAsJava highlighting * Add runtime highlighting via Prism * Add copy-button for code block * Add tests and refactor * Replace `
` for prism.js * Parse trivial default values Co-authored-by: Marcin Aman --- core/src/main/kotlin/model/additionalExtras.kt | 2 +- core/src/main/kotlin/model/defaultValues.kt | 10 +++++++++- core/src/main/kotlin/pages/ContentNodes.kt | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'core/src') diff --git a/core/src/main/kotlin/model/additionalExtras.kt b/core/src/main/kotlin/model/additionalExtras.kt index 62e1fa2d..bc9135dd 100644 --- a/core/src/main/kotlin/model/additionalExtras.kt +++ b/core/src/main/kotlin/model/additionalExtras.kt @@ -116,7 +116,7 @@ data class ActualTypealias(val underlyingType: SourceSetDependent) : Extr override val key: ExtraProperty.Key = ActualTypealias } -data class ConstructorValues(val values: SourceSetDependent>) : ExtraProperty { +data class ConstructorValues(val values: SourceSetDependent>) : ExtraProperty { companion object : ExtraProperty.Key { override fun mergeStrategyFor(left: ConstructorValues, right: ConstructorValues) = MergeStrategy.Replace(ConstructorValues(left.values + right.values)) diff --git a/core/src/main/kotlin/model/defaultValues.kt b/core/src/main/kotlin/model/defaultValues.kt index d60c90cd..d9caecd9 100644 --- a/core/src/main/kotlin/model/defaultValues.kt +++ b/core/src/main/kotlin/model/defaultValues.kt @@ -3,7 +3,7 @@ package org.jetbrains.dokka.model import org.jetbrains.dokka.model.properties.ExtraProperty import org.jetbrains.dokka.model.properties.MergeStrategy -class DefaultValue(val value: String): ExtraProperty { +class DefaultValue(val value: Expression): ExtraProperty { companion object : ExtraProperty.Key { override fun mergeStrategyFor(left: DefaultValue, right: DefaultValue): MergeStrategy = MergeStrategy.Remove // TODO pass a logger somehow and log this } @@ -11,3 +11,11 @@ class DefaultValue(val value: String): ExtraProperty { override val key: ExtraProperty.Key get() = Companion } + +interface Expression +data class ComplexExpression(val value: String) : Expression +data class IntegerConstant(val value: Long) : Expression +data class StringConstant(val value: String) : Expression +data class DoubleConstant(val value: Double) : Expression +data class FloatConstant(val value: Float) : Expression +data class BooleanConstant(val value: Boolean) : Expression \ No newline at end of file diff --git a/core/src/main/kotlin/pages/ContentNodes.kt b/core/src/main/kotlin/pages/ContentNodes.kt index 303fa803..0c262937 100644 --- a/core/src/main/kotlin/pages/ContentNodes.kt +++ b/core/src/main/kotlin/pages/ContentNodes.kt @@ -338,6 +338,9 @@ enum class ContentKind : Kind { fun shouldBePlatformTagged(kind: Kind): Boolean = kind in platformTagged } } +enum class TokenStyle : Style { + Keyword, Punctuation, Function, Operator, Annotation, Number, String, Boolean, Constant, Builtin +} enum class TextStyle : Style { Bold, Italic, Strong, Strikethrough, Paragraph, Block, Span, Monospace, Indented, Cover, UnderCoverText, BreakableAfter, Breakable -- cgit