aboutsummaryrefslogtreecommitdiff
path: root/src/Markdown/MarkdownProcessor.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/Markdown/MarkdownProcessor.kt')
-rw-r--r--src/Markdown/MarkdownProcessor.kt14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/Markdown/MarkdownProcessor.kt b/src/Markdown/MarkdownProcessor.kt
index 13023a2c..99caddc4 100644
--- a/src/Markdown/MarkdownProcessor.kt
+++ b/src/Markdown/MarkdownProcessor.kt
@@ -1,9 +1,11 @@
package org.jetbrains.dokka
-import org.intellij.markdown.*
-import org.intellij.markdown.ast.*
-import org.intellij.markdown.parser.*
-import org.intellij.markdown.parser.dialects.commonmark.CommonMarkMarkerProcessor
+import org.intellij.markdown.IElementType
+import org.intellij.markdown.MarkdownElementTypes
+import org.intellij.markdown.ast.ASTNode
+import org.intellij.markdown.ast.LeafASTNode
+import org.intellij.markdown.flavours.commonmark.CommonMarkFlavourDescriptor
+import org.intellij.markdown.parser.MarkdownParser
class MarkdownNode(val node: ASTNode, val parent: MarkdownNode?, val markdown: String) {
val children: List<MarkdownNode> = node.children.map { MarkdownNode(it, this, markdown) }
@@ -11,7 +13,7 @@ class MarkdownNode(val node: ASTNode, val parent: MarkdownNode?, val markdown: S
val text: String get() = markdown.substring(node.startOffset, node.endOffset)
fun child(type: IElementType): MarkdownNode? = children.firstOrNull { it.type == type }
- override fun toString(): String = StringBuilder { presentTo(this) }.toString()
+ override fun toString(): String = StringBuilder().apply { presentTo(this) }.toString()
}
fun MarkdownNode.visit(action: (MarkdownNode, () -> Unit) -> Unit) {
@@ -44,5 +46,5 @@ private fun MarkdownNode.presentTo(sb: StringBuilder) {
fun parseMarkdown(markdown: String): MarkdownNode {
if (markdown.isEmpty())
return MarkdownNode(LeafASTNode(MarkdownElementTypes.MARKDOWN_FILE, 0, 0), null, markdown)
- return MarkdownNode(MarkdownParser(CommonMarkMarkerProcessor.Factory).buildMarkdownTreeFromString(markdown), null, markdown)
+ return MarkdownNode(MarkdownParser(CommonMarkFlavourDescriptor()).buildMarkdownTreeFromString(markdown), null, markdown)
}