in src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/StrikeThroughDelimiterParser.kt [9:35]
override fun scan(tokens: TokensCache, iterator: TokensCache.Iterator, delimiters: MutableList<Info>): Int {
if (iterator.type != GFMTokenTypes.TILDE) {
return 0
}
var stepsToAdvance = 1
var rightIterator = iterator
for (index in 0 until maxAdvance) {
if (rightIterator.rawLookup(1) != GFMTokenTypes.TILDE) {
break
}
rightIterator = rightIterator.advance()
stepsToAdvance += 1
}
val (canOpen, canClose) = canOpenClose(tokens, iterator, rightIterator, canSplitText = true)
for (index in 0 until stepsToAdvance) {
val info = Info(
tokenType = GFMTokenTypes.TILDE,
position = iterator.index + index,
length = 0,
canOpen = canOpen,
canClose = canClose,
marker = '~'
)
delimiters.add(info)
}
return stepsToAdvance
}