aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/Markdown
diff options
context:
space:
mode:
authorBłażej Kardyś <bkardys@virtuslab.com>2019-11-27 17:45:33 +0100
committerBłażej Kardyś <bkardys@virtuslab.com>2019-11-28 12:53:21 +0100
commitd37cf2f32840779706154a3cddbb2239cd80fd84 (patch)
tree97e2199624100550456e218a02d1e1590581b781 /core/src/main/kotlin/Markdown
parent970bb62105af3828234eb871230ee9c1cd216af7 (diff)
downloaddokka-d37cf2f32840779706154a3cddbb2239cd80fd84.tar.gz
dokka-d37cf2f32840779706154a3cddbb2239cd80fd84.tar.bz2
dokka-d37cf2f32840779706154a3cddbb2239cd80fd84.zip
Cleaning package naming
Diffstat (limited to 'core/src/main/kotlin/Markdown')
-rw-r--r--core/src/main/kotlin/Markdown/MarkdownProcessor.kt53
1 files changed, 0 insertions, 53 deletions
diff --git a/core/src/main/kotlin/Markdown/MarkdownProcessor.kt b/core/src/main/kotlin/Markdown/MarkdownProcessor.kt
deleted file mode 100644
index 2c8f7a73..00000000
--- a/core/src/main/kotlin/Markdown/MarkdownProcessor.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.jetbrains.dokka
-
-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.ast.getTextInNode
-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) }
- val type: IElementType get() = node.type
- val text: String get() = node.getTextInNode(markdown).toString()
- fun child(type: IElementType): MarkdownNode? = children.firstOrNull { it.type == type }
-
- val previous get() = parent?.children?.getOrNull(parent.children.indexOf(this) - 1)
-
- override fun toString(): String = StringBuilder().apply { presentTo(this) }.toString()
-}
-
-fun MarkdownNode.visit(action: (MarkdownNode, () -> Unit) -> Unit) {
- action(this) {
- for (child in children) {
- child.visit(action)
- }
- }
-}
-
-fun MarkdownNode.toTestString(): String {
- val sb = StringBuilder()
- var level = 0
- visit { node, visitChildren ->
- sb.append(" ".repeat(level * 2))
- node.presentTo(sb)
- sb.appendln()
- level++
- visitChildren()
- level--
- }
- return sb.toString()
-}
-
-private fun MarkdownNode.presentTo(sb: StringBuilder) {
- sb.append(type.toString())
- sb.append(":" + text.replace("\n", "\u23CE"))
-}
-
-fun parseMarkdown(markdown: String): MarkdownNode {
- if (markdown.isEmpty())
- return MarkdownNode(LeafASTNode(MarkdownElementTypes.MARKDOWN_FILE, 0, 0), null, markdown)
- return MarkdownNode(MarkdownParser(CommonMarkFlavourDescriptor()).buildMarkdownTreeFromString(markdown), null, markdown)
-}