override fun scan()

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
    }