[markdown] IJPL-249952 Update Markdown version

Merge-request: IJ-MR-214503
Merged-by: Ilia Permiashkin <ilia.permiashkin@jetbrains.com>

GitOrigin-RevId: eab63c900607a26cb31edf8bdbca788843f3a1e0
This commit is contained in:
Ilia Permiashkin
2026-07-21 12:53:14 +00:00
committed by intellij-monorepo-bot
parent 65b9e89dd4
commit 450f07508a
9 changed files with 51 additions and 35 deletions
+5 -5
View File
@@ -1,9 +1,9 @@
<component name="libraryTable">
<library name="jetbrains.markdown" type="repository">
<properties maven-id="org.jetbrains:markdown-jvm:0.7.5">
<properties maven-id="org.jetbrains:markdown-jvm:0.7.7">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/markdown-jvm/0.7.5/markdown-jvm-0.7.5.jar">
<sha256sum>d4f3df73b2bab29a02f09114fe270ad63d0581da524a0db37df827c8d8f27f1c</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/markdown-jvm/0.7.7/markdown-jvm-0.7.7.jar">
<sha256sum>df0b88266501c622ffcd0cc174b29aed9e19e73cb93e0d51b4ebca4cee01a82f</sha256sum>
</artifact>
</verification>
<exclude>
@@ -12,11 +12,11 @@
</exclude>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/markdown-jvm/0.7.5/markdown-jvm-0.7.5.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/markdown-jvm/0.7.7/markdown-jvm-0.7.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/markdown-jvm/0.7.5/markdown-jvm-0.7.5-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/markdown-jvm/0.7.7/markdown-jvm-0.7.7-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -7184,17 +7184,17 @@ jvm_import(
)
copy_file(
name = "org.jetbrains/markdown-jvm-0.7.5.jar_copy",
src = "@org_jetbrains-markdown-jvm-0_7_5_http//file",
out = "org.jetbrains/markdown-jvm-0.7.5.jar",
name = "org.jetbrains/markdown-jvm-0.7.7.jar_copy",
src = "@org_jetbrains-markdown-jvm-0_7_7_http//file",
out = "org.jetbrains/markdown-jvm-0.7.7.jar",
allow_symlink = True,
visibility = ["//visibility:public"],
)
jvm_import(
name = "jetbrains-markdown",
jar = "@org_jetbrains-markdown-jvm-0_7_5_http//file",
source_jar = "@org_jetbrains-markdown-jvm-0_7_5-sources_http//file",
jar = "@org_jetbrains-markdown-jvm-0_7_7_http//file",
source_jar = "@org_jetbrains-markdown-jvm-0_7_7-sources_http//file",
visibility = ["//visibility:public"],
)
+8 -8
View File
@@ -5699,17 +5699,17 @@ http_file(
)
http_file(
name = "org_jetbrains-markdown-jvm-0_7_5_http",
downloaded_file_path = "markdown-jvm-0.7.5.jar",
sha256 = "d4f3df73b2bab29a02f09114fe270ad63d0581da524a0db37df827c8d8f27f1c",
url = "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/org/jetbrains/markdown-jvm/0.7.5/markdown-jvm-0.7.5.jar",
name = "org_jetbrains-markdown-jvm-0_7_7_http",
downloaded_file_path = "markdown-jvm-0.7.7.jar",
sha256 = "df0b88266501c622ffcd0cc174b29aed9e19e73cb93e0d51b4ebca4cee01a82f",
url = "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/org/jetbrains/markdown-jvm/0.7.7/markdown-jvm-0.7.7.jar",
)
http_file(
name = "org_jetbrains-markdown-jvm-0_7_5-sources_http",
downloaded_file_path = "markdown-jvm-0.7.5-sources.jar",
sha256 = "bc6c9ea9f4a8c75578ebb7488e29254e16f6f405ef44ea6b3c6d334f5b44ef04",
url = "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/org/jetbrains/markdown-jvm/0.7.5/markdown-jvm-0.7.5-sources.jar",
name = "org_jetbrains-markdown-jvm-0_7_7-sources_http",
downloaded_file_path = "markdown-jvm-0.7.7-sources.jar",
sha256 = "e6a3f6346e183af31797952b095b7337f3973aff075cc4e8352ecdb90f372869",
url = "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/org/jetbrains/markdown-jvm/0.7.7/markdown-jvm-0.7.7-sources.jar",
)
http_file(
@@ -7,7 +7,6 @@ import com.intellij.openapi.components.service
import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.util.Key
import com.intellij.openapi.util.text.StringUtil.BombedCharSequence
import org.intellij.markdown.ExperimentalApi
import org.intellij.markdown.MarkdownElementTypes
import org.intellij.markdown.ast.ASTNode
import org.intellij.markdown.flavours.MarkdownFlavourDescriptor
@@ -42,7 +41,7 @@ class MarkdownParserManager: Disposable {
}
val parseResult = createMarkdownParser(flavour).parse(
MarkdownElementTypes.MARKDOWN_FILE,
buffer.toString(),
buffer,
parseInlines = false
)
lastParsingResult.set(SoftReference(ParsingResult(buffer, parseResult)))
@@ -67,7 +66,6 @@ class MarkdownParserManager: Disposable {
}
@JvmStatic
@OptIn(ExperimentalApi::class)
fun createMarkdownParser(flavour: MarkdownFlavourDescriptor, assertionsEnabled: Boolean = true): MarkdownParser =
MarkdownParser(flavour, assertionsEnabled) { ProgressManager.checkCanceled() }
@@ -42,7 +42,7 @@ class DefinitionListMarkerProvider: MarkerBlockProvider<MarkerProcessor.StateInf
@JvmField
val DEFINITION_MARKER: IElementType = MarkdownElementType("DEFINITION_MARKER", isToken = true)
fun isDefinitionLine(line: String): Boolean {
fun isDefinitionLine(line: CharSequence): Boolean {
return line.trimStart(' ', '\t').startsWith(": ")
}
}
@@ -14,7 +14,7 @@ internal class FrontMatterHeaderBlock(
private val startPosition: LookaheadText.Position,
constraints: MarkdownConstraints,
private val productionHolder: ProductionHolder,
private val openingDelimiterText: String
private val openingDelimiterText: CharSequence
): MarkerBlockImpl(constraints, productionHolder.mark()) {
private var lastContentPosition: LookaheadText.Position? = null
private lateinit var closingDelimiterPosition: LookaheadText.Position
@@ -56,7 +56,7 @@ internal class FrontMatterHeaderBlock(
return MarkerBlock.ProcessingResult.CANCEL
}
private fun isClosingDelimiter(line: String): Boolean {
private fun isClosingDelimiter(line: CharSequence): Boolean {
return isYamlDelimiters(openingDelimiterText, line) || isTomlDelimiters(openingDelimiterText, line)
}
@@ -58,7 +58,7 @@ class FrontMatterHeaderMarkerProvider: MarkerBlockProvider<MarkerProcessor.State
return listOf(FrontMatterHeaderBlock(position, stateInfo.currentConstraints, productionHolder, possibleDelimiter))
}
private fun hasClosingDelimiter(startPosition: LookaheadText.Position, openingDelimiter: String): Boolean {
private fun hasClosingDelimiter(startPosition: LookaheadText.Position, openingDelimiter: CharSequence): Boolean {
var current = startPosition.nextLinePosition() ?: return false
while (true) {
val line = current.currentLine
@@ -83,31 +83,31 @@ class FrontMatterHeaderMarkerProvider: MarkerBlockProvider<MarkerProcessor.State
@JvmField
val FRONT_MATTER_HEADER_CONTENT = MarkdownElementType("FRONT_MATTER_HEADER_CONTENT", isToken = true)
internal fun isOpeningDelimiterLine(line: String): Boolean {
internal fun isOpeningDelimiterLine(line: CharSequence): Boolean {
return isYamlDashedDelimiterLine(line) || isTomlDelimiterLine(line)
}
private fun isYamlDashedDelimiterLine(line: String): Boolean {
private fun isYamlDashedDelimiterLine(line: CharSequence): Boolean {
return line.length >= 3 && line.all { it == '-' }
}
internal fun canBePairedWithClosingDots(opening: String): Boolean {
internal fun canBePairedWithClosingDots(opening: CharSequence): Boolean {
return isYamlDashedDelimiterLine(opening)
}
private fun isYamlDottedDelimiterLine(line: String): Boolean {
private fun isYamlDottedDelimiterLine(line: CharSequence): Boolean {
return line.length >= 3 && line.all { it == '.' }
}
internal fun isYamlDelimiters(opening: String, closing: String): Boolean {
internal fun isYamlDelimiters(opening: CharSequence, closing: CharSequence): Boolean {
return isYamlDashedDelimiterLine(opening) && (isYamlDashedDelimiterLine(closing) || isYamlDottedDelimiterLine(closing))
}
private fun isTomlDelimiterLine(line: String): Boolean {
private fun isTomlDelimiterLine(line: CharSequence): Boolean {
return line.length >= 3 && line.all { it == '+' }
}
internal fun isTomlDelimiters(opening: String, closing: String): Boolean {
internal fun isTomlDelimiters(opening: CharSequence, closing: CharSequence): Boolean {
return isTomlDelimiterLine(opening) && isTomlDelimiterLine(closing)
}
}
@@ -2,6 +2,7 @@
package org.intellij.plugins.markdown.ui.preview.html
import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.util.text.StringUtil.BombedCharSequence
import org.intellij.markdown.MarkdownElementTypes
import org.intellij.markdown.MarkdownTokenTypes
import org.intellij.markdown.ast.ASTNode
@@ -62,7 +63,12 @@ internal class FootnoteMap private constructor(
private fun renderBodyMarkdown(body: String, baseUri: URI?, fullMap: FootnoteMap? = null): String {
val content = if (body.endsWith('\n')) body else "$body\n"
val parsedTree = MarkdownParserManager.createMarkdownParser(MarkdownParserManager.FLAVOUR).buildMarkdownTreeFromString(content)
val parsedTree = MarkdownParserManager.createMarkdownParser(MarkdownParserManager.FLAVOUR)
.buildMarkdownTreeFromString(object : BombedCharSequence(content) {
override fun checkCanceled() {
ProgressManager.checkCanceled()
}
})
val linkMap = LinkMap.buildLinkMap(parsedTree, content)
val providers = MarkdownParserManager.FLAVOUR.createHtmlGeneratingProviders(linkMap, baseUri).toMutableMap()
if (fullMap != null) {
@@ -220,7 +226,12 @@ internal class FootnoteMap private constructor(
processed.add(label)
val body = definitions[label]!!
val content = if (body.endsWith('\n')) body else "$body\n"
val bodyTree = MarkdownParserManager.createMarkdownParser(MarkdownParserManager.FLAVOUR).buildMarkdownTreeFromString(content)
val bodyTree = MarkdownParserManager.createMarkdownParser(MarkdownParserManager.FLAVOUR)
.buildMarkdownTreeFromString(object : BombedCharSequence(content) {
override fun checkCanceled() {
ProgressManager.checkCanceled()
}
})
val nestedDefs = mutableMapOf<String, String>()
val nestedRefs = mutableListOf<String>()
collectFromAst(bodyTree, content, nestedDefs, mutableSetOf(), nestedRefs)
@@ -1,7 +1,9 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.intellij.plugins.markdown.ui.preview.html
import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.text.StringUtil.BombedCharSequence
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.util.io.DigestUtil
import org.intellij.markdown.MarkdownElementTypes
@@ -33,7 +35,12 @@ object MarkdownUtil {
val parent = file.parent
val baseUri = if (parent != null) File(parent.path).toURI() else null
val parsedTree = MarkdownParserManager.createMarkdownParser(MarkdownParserManager.FLAVOUR).buildMarkdownTreeFromString(text)
val parsedTree = MarkdownParserManager.createMarkdownParser(MarkdownParserManager.FLAVOUR)
.buildMarkdownTreeFromString(object : BombedCharSequence(text) {
override fun checkCanceled() {
ProgressManager.checkCanceled()
}
})
val cacheCollector = MarkdownCodeFencePluginCacheCollector(file)
val linkMap = LinkMap.buildLinkMap(parsedTree, text)