mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[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:
committed by
intellij-monorepo-bot
parent
65b9e89dd4
commit
450f07508a
Generated
+5
-5
@@ -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
@@ -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
@@ -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(
|
||||
|
||||
+1
-3
@@ -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() }
|
||||
|
||||
|
||||
+1
-1
@@ -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(": ")
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+8
-8
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
+13
-2
@@ -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)
|
||||
|
||||
+8
-1
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user