diff options
author | Andrzej Ratajczak <andrzej.ratajczak98@gmail.com> | 2020-09-14 11:51:30 +0200 |
---|---|---|
committer | Andrzej Ratajczak <32793002+BarkingBad@users.noreply.github.com> | 2020-09-14 13:44:34 +0200 |
commit | 315e2c7a56450eb24a5d5e4e526c36ead8d10965 (patch) | |
tree | 19d0c426ffbf6bc0f29af159c569f669766a52dd | |
parent | ba05c354a353ac3145c775e190b96b2bbe3c1227 (diff) | |
download | dokka-315e2c7a56450eb24a5d5e4e526c36ead8d10965.tar.gz dokka-315e2c7a56450eb24a5d5e4e526c36ead8d10965.tar.bz2 dokka-315e2c7a56450eb24a5d5e4e526c36ead8d10965.zip |
Fix parsing strikethrough
-rw-r--r-- | plugins/base/src/main/kotlin/parsers/MarkdownParser.kt | 4 | ||||
-rw-r--r-- | plugins/base/src/test/kotlin/markdown/ParserTest.kt | 20 |
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) + } } |