aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej Ratajczak <andrzej.ratajczak98@gmail.com>2020-09-14 11:51:30 +0200
committerAndrzej Ratajczak <32793002+BarkingBad@users.noreply.github.com>2020-09-14 13:44:34 +0200
commit315e2c7a56450eb24a5d5e4e526c36ead8d10965 (patch)
tree19d0c426ffbf6bc0f29af159c569f669766a52dd
parentba05c354a353ac3145c775e190b96b2bbe3c1227 (diff)
downloaddokka-315e2c7a56450eb24a5d5e4e526c36ead8d10965.tar.gz
dokka-315e2c7a56450eb24a5d5e4e526c36ead8d10965.tar.bz2
dokka-315e2c7a56450eb24a5d5e4e526c36ead8d10965.zip
Fix parsing strikethrough
-rw-r--r--plugins/base/src/main/kotlin/parsers/MarkdownParser.kt4
-rw-r--r--plugins/base/src/test/kotlin/markdown/ParserTest.kt20
2 files changed, 22 insertions, 2 deletions
diff --git a/plugins/base/src/main/kotlin/parsers/MarkdownParser.kt b/plugins/base/src/main/kotlin/parsers/MarkdownParser.kt
index a74f2b05..3fc570a0 100644
--- a/plugins/base/src/main/kotlin/parsers/MarkdownParser.kt
+++ b/plugins/base/src/main/kotlin/parsers/MarkdownParser.kt
@@ -222,8 +222,8 @@ class MarkdownParser(
defaultHandler(node)
private fun strikeThroughHandler(node: ASTNode) = DocTagsFromIElementFactory.getInstance(
- GFMElementTypes.STRIKETHROUGH,
- body = text.substring(node.startOffset, node.endOffset).transform()
+ node.type,
+ children = node.children.evaluateChildrenWithDroppedEnclosingTokens(2)
)
private fun tableHandler(node: ASTNode) = DocTagsFromIElementFactory.getInstance(
diff --git a/plugins/base/src/test/kotlin/markdown/ParserTest.kt b/plugins/base/src/test/kotlin/markdown/ParserTest.kt
index 268af405..c25678d4 100644
--- a/plugins/base/src/test/kotlin/markdown/ParserTest.kt
+++ b/plugins/base/src/test/kotlin/markdown/ParserTest.kt
@@ -1307,5 +1307,25 @@ class ParserTest : KDocTest() {
)
executeTest(kdoc, expectedDocumentationNode)
}
+
+ @Test
+ fun `Text with Strikethrough`() {
+ val kdoc = """
+ | This is ~~strikethroughed~~
+ """.trimMargin()
+ val expectedDocumentationNode = DocumentationNode(
+ listOf(
+ Description(
+ P(
+ listOf(
+ Text("This is "),
+ Strikethrough(listOf(Text("strikethroughed")))
+ )
+ )
+ )
+ )
+ )
+ executeTest(kdoc, expectedDocumentationNode)
+ }
}