in src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/EmphStrongDelimiterParser.kt [10:37]
override fun scan(tokens: TokensCache, iterator: TokensCache.Iterator, delimiters: MutableList<Info>): Int {
if (iterator.type != MarkdownTokenTypes.EMPH) {
return 0
}
var stepsToAdvance = 1
var rightIterator = iterator
val marker = getType(rightIterator)
for (index in 0 until maxAdvance) {
if (rightIterator.rawLookup(1) != MarkdownTokenTypes.EMPH || getType(rightIterator.advance()) != marker) {
break
}
rightIterator = rightIterator.advance()
stepsToAdvance += 1
}
val (canOpen, canClose) = canOpenClose(tokens, iterator, rightIterator, canSplitText = marker == '*')
for (index in 0 until stepsToAdvance) {
val info = Info(
tokenType = MarkdownTokenTypes.EMPH,
position = iterator.index + index,
length = stepsToAdvance,
canOpen = canOpen,
canClose = canClose,
marker = marker
)
delimiters.add(info)
}
return stepsToAdvance
}