[JEWEL-748] Define delimited inlines extension API, implement strikethrough monorepo & other refactorings

(cherry picked from commit 6ceccc0c79234379c35573696c6909faffb81098)


(cherry picked from commit 3bbf045cd0d5e440612ab3a09f3150a1d1b2ae2f)

IJ-MR-155570

GitOrigin-RevId: 720cd50c52a689c0980a95cf1e980b4eedccb1dc
This commit is contained in:
Jakub Senohrabek
2025-02-12 12:40:38 +01:00
committed by intellij-monorepo-bot
parent eea1240eca
commit 4fa7a131d1
12 changed files with 84 additions and 31 deletions

View File

@@ -179,6 +179,7 @@ object CommunityLibraryLicenses {
.additionalLibraryNames(
"commonmark.ext.autolink",
"commonmark.ext.gfm.tables",
"commonmark.ext.gfm.strikethrough",
"org.commonmark.commonmark"
)
.copyrightText("Copyright (c) 2015, Atlassian Pty Ltd")

View File

@@ -26,7 +26,6 @@ dependencies {
tasks {
named("detekt") {
println("Setting up ${project.name}")
if (!project.name.startsWith("detekt-plugin")) {
dependsOn(":detekt-plugin:build")
}

View File

@@ -7,9 +7,11 @@ f:org.jetbrains.jewel.markdown.InlineMarkdown$Code
- equals(java.lang.Object):Z
- getContent():java.lang.String
- hashCode():I
org.jetbrains.jewel.markdown.InlineMarkdown$CustomNode
org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode
- org.jetbrains.jewel.markdown.InlineMarkdown
- contentOrNull():java.lang.String
- org.jetbrains.jewel.markdown.WithInlineMarkdown
- getClosingDelimiter():java.lang.String
- a:getOpeningDelimiter():java.lang.String
f:org.jetbrains.jewel.markdown.InlineMarkdown$Emphasis
- org.jetbrains.jewel.markdown.InlineMarkdown
- org.jetbrains.jewel.markdown.WithInlineMarkdown
@@ -204,12 +206,12 @@ org.jetbrains.jewel.markdown.extensions.MarkdownBlockProcessorExtension
org.jetbrains.jewel.markdown.extensions.MarkdownBlockRendererExtension
- a:canRender(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock):Z
- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V
org.jetbrains.jewel.markdown.extensions.MarkdownInlineProcessorExtension
- a:canProcess(org.commonmark.node.CustomNode):Z
- a:processInlineMarkdown(org.commonmark.node.CustomNode,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):org.jetbrains.jewel.markdown.InlineMarkdown$CustomNode
org.jetbrains.jewel.markdown.extensions.MarkdownInlineRendererExtension
- a:canRender(org.jetbrains.jewel.markdown.InlineMarkdown$CustomNode):Z
- a:render(org.jetbrains.jewel.markdown.InlineMarkdown$CustomNode,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z):V
org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineProcessorExtension
- a:canProcess(org.commonmark.node.Delimited):Z
- a:processDelimitedInline(org.commonmark.node.Delimited,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode
org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineRendererExtension
- a:canRender(org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode):Z
- a:render(org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1):androidx.compose.ui.text.AnnotatedString
f:org.jetbrains.jewel.markdown.extensions.MarkdownKt
- sf:getLocalMarkdownBlockRenderer():androidx.compose.runtime.ProvidableCompositionLocal
- sf:getLocalMarkdownMode():androidx.compose.runtime.ProvidableCompositionLocal
@@ -221,12 +223,12 @@ f:org.jetbrains.jewel.markdown.extensions.MarkdownKt
- sf:getMarkdownStyling(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,androidx.compose.runtime.Composer,I):org.jetbrains.jewel.markdown.rendering.MarkdownStyling
org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension
- getBlockProcessorExtension():org.jetbrains.jewel.markdown.extensions.MarkdownBlockProcessorExtension
- getInlineProcessorExtension():org.jetbrains.jewel.markdown.extensions.MarkdownInlineProcessorExtension
- getDelimitedInlineProcessorExtension():org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineProcessorExtension
- getParserExtension():org.commonmark.parser.Parser$ParserExtension
- getTextRendererExtension():org.commonmark.renderer.text.TextContentRenderer$TextContentRendererExtension
org.jetbrains.jewel.markdown.extensions.MarkdownRendererExtension
- getBlockRenderer():org.jetbrains.jewel.markdown.extensions.MarkdownBlockRendererExtension
- getInlineRenderer():org.jetbrains.jewel.markdown.extensions.MarkdownInlineRendererExtension
- getDelimitedInlineRenderer():org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineRendererExtension
f:org.jetbrains.jewel.markdown.processing.MarkdownParserFactory
- sf:$stable:I
- sf:INSTANCE:org.jetbrains.jewel.markdown.processing.MarkdownParserFactory
@@ -237,19 +239,22 @@ f:org.jetbrains.jewel.markdown.processing.MarkdownProcessor
- <init>():V
- <init>(java.util.List,org.jetbrains.jewel.markdown.MarkdownMode,org.commonmark.parser.Parser):V
- b:<init>(java.util.List,org.jetbrains.jewel.markdown.MarkdownMode,org.commonmark.parser.Parser,I,kotlin.jvm.internal.DefaultConstructorMarker):V
- f:getBlockExtensions():java.util.List
- f:getDelimitedInlineExtensions():java.util.List
- f:getExtensions():java.util.List
- f:plus(org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension):org.jetbrains.jewel.markdown.processing.MarkdownProcessor
- f:processChildren(org.commonmark.node.Node):java.util.List
- f:processMarkdownDocument(java.lang.String):java.util.List
- f:withExtension(org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension):org.jetbrains.jewel.markdown.processing.MarkdownProcessor
f:org.jetbrains.jewel.markdown.processing.ProcessingUtilKt
- sf:readInlineContent(org.commonmark.node.Node,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):java.util.List
- sf:readInlineMarkdown(org.commonmark.node.Node,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):java.util.List
- sf:toInlineMarkdownOrNull(org.commonmark.node.Node,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):org.jetbrains.jewel.markdown.InlineMarkdown
c:org.jetbrains.jewel.markdown.rendering.DefaultInlineMarkdownRenderer
- org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer
- sf:$stable:I
- sf:Companion:org.jetbrains.jewel.markdown.rendering.DefaultInlineMarkdownRenderer$Companion
- <init>(java.util.List):V
- pf:getDelimitedNodeRendererExtensions():java.util.List
- renderAsAnnotatedString(java.lang.Iterable,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1):androidx.compose.ui.text.AnnotatedString
f:org.jetbrains.jewel.markdown.rendering.DefaultInlineMarkdownRenderer$Companion
c:org.jetbrains.jewel.markdown.rendering.DefaultMarkdownBlockRenderer
- org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer
- sf:$stable:I
@@ -328,6 +333,7 @@ f:org.jetbrains.jewel.markdown.rendering.MarkdownStyling
- sf:$stable:I
- sf:Companion:org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Companion
- equals(java.lang.Object):Z
- f:getBaseInlinesStyling():org.jetbrains.jewel.markdown.rendering.InlinesStyling
- f:getBlockQuote():org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote
- f:getBlockVerticalSpacing-D9Ej5fM():F
- f:getCode():org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code

View File

@@ -18,7 +18,7 @@ import org.junit.Assert.assertTrue
public fun List<MarkdownBlock>.assertEquals(vararg expected: MarkdownBlock) {
val differences = findDifferences(expected.toList(), indentSize = 0)
assertTrue(
"The following differences were found:\n\n" + "${differences.joinToString("\n").replace('\t', '')}\n\n",
"The following differences were found:\n\n" + "${differences.joinToString("\n").replace('\t', '?')}\n\n",
differences.isEmpty(),
)
}

View File

@@ -0,0 +1,40 @@
f:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughInlineProcessorExtension
- org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineProcessorExtension
- sf:$stable:I
- sf:INSTANCE:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughInlineProcessorExtension
- canProcess(org.commonmark.node.Delimited):Z
- processDelimitedInline(org.commonmark.node.Delimited,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode
f:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughInlineRendererExtension
- org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineRendererExtension
- sf:$stable:I
- sf:INSTANCE:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughInlineRendererExtension
- canRender(org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode):Z
- render(org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1):androidx.compose.ui.text.AnnotatedString
f:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughNode
- org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode
- org.jetbrains.jewel.markdown.WithInlineMarkdown
- sf:$stable:I
- <init>(java.lang.String,java.util.List):V
- f:component1():java.lang.String
- f:component2():java.util.List
- f:copy(java.lang.String,java.util.List):org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughNode
- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughNode,java.lang.String,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughNode
- equals(java.lang.Object):Z
- f:getDelimiter():java.lang.String
- getInlineContent():java.util.List
- getOpeningDelimiter():java.lang.String
- hashCode():I
f:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughProcessorExtension
- org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension
- sf:$stable:I
- <init>():V
- <init>(Z):V
- b:<init>(Z,I,kotlin.jvm.internal.DefaultConstructorMarker):V
- getDelimitedInlineProcessorExtension():org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineProcessorExtension
- getParserExtension():org.commonmark.parser.Parser$ParserExtension
- getTextRendererExtension():org.commonmark.renderer.text.TextContentRenderer$TextContentRendererExtension
f:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughRendererExtension
- org.jetbrains.jewel.markdown.extensions.MarkdownRendererExtension
- sf:$stable:I
- sf:INSTANCE:org.jetbrains.jewel.markdown.extensions.github.strikethrough.GitHubStrikethroughRendererExtension
- getDelimitedInlineRenderer():org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineRendererExtension

View File

@@ -0,0 +1,3 @@
androidx/compose/**
kotlin/jvm/internal/DefaultConstructorMarker
org/commonmark/**

View File

@@ -15,8 +15,7 @@
<arrayArguments>
<arrayArg name="pluginClasspaths">
<args>
<arg>$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.0/kotlin-compose-compiler-plugin-2.1.0.jar</arg>
<arg>$MAVEN_REPOSITORY$/dev/drewhamilton/poko/poko-compiler-plugin/0.18.2/poko-compiler-plugin-0.18.2.jar</arg>
<arg>$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar</arg>
</args>
</arrayArg>
</arrayArguments>
@@ -29,7 +28,6 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/kotlin" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/kotlin" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="library" name="kotlin-stdlib" level="project" />

View File

@@ -0,0 +1,7 @@
<idea-plugin>
<dependencies>
<module name="intellij.platform.jewel.markdown.core" />
<module name="intellij.platform.jewel.ui" />
<module name="intellij.platform.jewel.foundation" />
</dependencies>
</idea-plugin>

View File

@@ -14,9 +14,7 @@
</stringArguments>
<arrayArguments>
<arrayArg name="pluginClasspaths">
<args>
<arg>$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar</arg>
</args>
<args>$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar</args>
</arrayArg>
</arrayArguments>
</compilerArguments>
@@ -70,20 +68,15 @@
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module" module-name="intellij.libraries.compose.foundation.desktop" />
<orderEntry type="module" module-name="intellij.libraries.skiko" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.autolink" />
<orderEntry type="module" module-name="intellij.platform.jewel.ui" />
<orderEntry type="module" module-name="intellij.platform.jewel.foundation" />
<orderEntry type="module" module-name="intellij.platform.jewel.decoratedWindow" />
<orderEntry type="module" module-name="intellij.platform.jewel.intUi.decoratedWindow" />
<orderEntry type="module" module-name="intellij.platform.jewel.intUi.standalone" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.core" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.autolink" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.gfmAlerts" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.gfmStrikethrough" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.gfmTables" />
<orderEntry type="module" module-name="intellij.libraries.skiko" />
<orderEntry type="module" module-name="intellij.platform.jewel.decoratedWindow" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.intUiStandaloneStyling" />
<orderEntry type="module" module-name="intellij.platform.jewel.samples.showcase" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.core" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.gfmAlerts" />
<orderEntry type="library" scope="RUNTIME" name="jna" level="project" />
<orderEntry type="module-library" scope="RUNTIME">
<library name="org.lwjgl.lwjgl" type="repository">
@@ -139,5 +132,10 @@
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module" module-name="intellij.platform.jewel.intUi.standalone" />
<orderEntry type="module" module-name="intellij.libraries.compose.foundation.desktop" />
<orderEntry type="module" module-name="intellij.platform.jewel.samples.showcase" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.gfmTables" />
<orderEntry type="module" module-name="intellij.platform.jewel.markdown.extension.gfmStrikethrough" />
</component>
</module>

View File

@@ -8,6 +8,7 @@
<module name="intellij.platform.jewel.markdown.intUiStandaloneStyling" />
<module name="intellij.platform.jewel.markdown.core" />
<module name="intellij.platform.jewel.markdown.extension.gfmAlerts" />
<module name="intellij.platform.jewel.markdown.extension.gfmStrikethrough" />
<module name="intellij.platform.jewel.markdown.extension.gfmTables" />
<module name="intellij.platform.jewel.markdown.extension.autolink" />
</dependencies>