Skip to content

Commit e434dfe

Browse files
committed
refactor(markdown): move MarkdownTextParser to mpp-core
Extract MarkdownTextParser to a shared mpp-core module for reuse and improved testability across platforms. Update imports accordingly.
1 parent 6e78932 commit e434dfe

File tree

5 files changed

+10
-6
lines changed

5 files changed

+10
-6
lines changed

mpp-idea/src/main/kotlin/cc/unitmesh/devins/idea/renderer/markdown/MarkdownTextParser.kt renamed to mpp-core/src/commonMain/kotlin/cc/unitmesh/markdown/MarkdownTextParser.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package cc.unitmesh.devins.idea.renderer.markdown
1+
package cc.unitmesh.markdown
22

3+
import org.intellij.markdown.MarkdownElementTypes
34
import org.intellij.markdown.MarkdownTokenTypes
45
import org.intellij.markdown.ast.ASTNode
56
import org.intellij.markdown.ast.findChildOfType
@@ -104,7 +105,7 @@ object MarkdownTextParser {
104105
* Extract link text from an inline link node.
105106
*/
106107
fun extractLinkText(node: ASTNode, content: String): String {
107-
val linkText = node.findChildOfType(org.intellij.markdown.MarkdownElementTypes.LINK_TEXT)
108+
val linkText = node.findChildOfType(MarkdownElementTypes.LINK_TEXT)
108109
return linkText?.children?.filter { it.type == MarkdownTokenTypes.TEXT }
109110
?.joinToString("") { it.getTextInNode(content).toString() }
110111
?: node.getTextInNode(content).toString()
@@ -114,15 +115,15 @@ object MarkdownTextParser {
114115
* Extract link destination URL from an inline link node.
115116
*/
116117
fun extractLinkDestination(node: ASTNode, content: String): String {
117-
val linkDest = node.findChildOfType(org.intellij.markdown.MarkdownElementTypes.LINK_DESTINATION)
118+
val linkDest = node.findChildOfType(MarkdownElementTypes.LINK_DESTINATION)
118119
return linkDest?.getTextInNode(content)?.toString() ?: ""
119120
}
120121

121122
/**
122123
* Extract image alt text from an image node.
123124
*/
124125
fun extractImageAltText(node: ASTNode, content: String): String {
125-
return node.findChildOfType(org.intellij.markdown.MarkdownElementTypes.LINK_TEXT)
126+
return node.findChildOfType(MarkdownElementTypes.LINK_TEXT)
126127
?.getTextInNode(content)?.toString()?.trim('[', ']') ?: "image"
127128
}
128129

@@ -132,5 +133,4 @@ object MarkdownTextParser {
132133
fun extractAutoLinkUrl(node: ASTNode, content: String): String {
133134
return node.getTextInNode(content).toString().trim('<', '>')
134135
}
135-
}
136-
136+
}

mpp-idea/src/main/kotlin/cc/unitmesh/devins/idea/renderer/markdown/JewelMarkdownRenderer.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import androidx.compose.ui.unit.dp
1717
import androidx.compose.ui.unit.sp
1818
import cc.unitmesh.devins.idea.renderer.markdown.MarkdownInlineRenderer.appendMarkdownChildren
1919
import cc.unitmesh.devins.ui.compose.theme.AutoDevColors
20+
import cc.unitmesh.markdown.MarkdownTextParser
2021
import org.intellij.markdown.MarkdownElementTypes
2122
import org.intellij.markdown.MarkdownTokenTypes
2223
import org.intellij.markdown.ast.ASTNode

mpp-idea/src/main/kotlin/cc/unitmesh/devins/idea/renderer/markdown/MarkdownInlineRenderer.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import androidx.compose.ui.text.style.TextDecoration
1010
import androidx.compose.ui.text.withStyle
1111
import androidx.compose.ui.unit.sp
1212
import cc.unitmesh.devins.ui.compose.theme.AutoDevColors
13+
import cc.unitmesh.markdown.MarkdownTextParser
1314
import org.intellij.markdown.MarkdownElementTypes
1415
import org.intellij.markdown.MarkdownTokenTypes
1516
import org.intellij.markdown.ast.ASTNode

mpp-idea/src/main/kotlin/cc/unitmesh/devins/idea/renderer/markdown/MarkdownTable.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import androidx.compose.ui.unit.Dp
2424
import androidx.compose.ui.unit.dp
2525
import androidx.compose.ui.unit.sp
2626
import androidx.compose.ui.unit.times
27+
import cc.unitmesh.markdown.MarkdownTextParser
2728
import org.intellij.markdown.ast.ASTNode
2829
import org.intellij.markdown.flavours.gfm.GFMElementTypes
2930
import org.intellij.markdown.flavours.gfm.GFMTokenTypes

mpp-idea/src/test/kotlin/cc/unitmesh/devins/idea/renderer/markdown/MarkdownTextParserTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cc.unitmesh.devins.idea.renderer.markdown
22

3+
import cc.unitmesh.markdown.MarkdownTextParser
34
import org.intellij.markdown.MarkdownElementTypes
45
import org.intellij.markdown.ast.ASTNode
56
import org.intellij.markdown.flavours.gfm.GFMFlavourDescriptor

0 commit comments

Comments
 (0)