in src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/LinkParserUtil.kt [123:150]
fun parseLinkTitle(iterator: TokensCache.Iterator): LocalParsingResult? {
var it = iterator
if (it.type == MarkdownTokenTypes.EOL) {
return null
}
val startIndex = it.index
val closingType: IElementType?
if (it.type == MarkdownTokenTypes.SINGLE_QUOTE || it.type == MarkdownTokenTypes.DOUBLE_QUOTE) {
closingType = it.type
} else if (it.type == MarkdownTokenTypes.LPAREN) {
closingType = MarkdownTokenTypes.RPAREN
} else {
return null
}
it = it.advance()
while (it.type != null && it.type != closingType) {
it = it.advance()
}
if (it.type != null) {
return LocalParsingResult(it,
listOf(SequentialParser.Node(startIndex..it.index + 1, MarkdownElementTypes.LINK_TITLE)))
}
return null
}