in src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/providers/LinkReferenceDefinitionProvider.kt [174:204]
fun matchLinkLabel(text: CharSequence, start: Int): IntRange? {
var offset = start
if (offset >= text.length || text[offset] != '[') {
return null
}
offset++
var seenNonWhitespace = false
for (i in 1..999) {
if (offset >= text.length)
return null
var c = text[offset]
if (c == '[' || c == ']')
break
if (c == '\\') {
offset++
if (offset >= text.length)
return null
c = text[offset]
}
if (!c.isWhitespace()) {
seenNonWhitespace = true
}
offset++
}
if (!seenNonWhitespace || offset >= text.length || text[offset] != ']') {
return null
}
return start..offset
}