in src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/providers/ListMarkerProvider.kt [13:42]
override fun createMarkerBlocks(pos: LookaheadText.Position,
productionHolder: ProductionHolder,
stateInfo: MarkerProcessor.StateInfo): List<MarkerBlock> {
// if (Character.isWhitespace(pos.char)) {
// return emptyList()
// }
// if (pos.offsetInCurrentLine != 0 && !Character.isWhitespace(pos.currentLine[pos.offsetInCurrentLine - 1])) {
// return emptyList()
// }
val currentConstraints = stateInfo.currentConstraints
val nextConstraints = stateInfo.nextConstraints
if (!MarkerBlockProvider.isStartOfLineWithConstraints(pos, currentConstraints)) {
return emptyList()
}
if (nextConstraints != currentConstraints
&& nextConstraints.types.lastOrNull() != '>' && nextConstraints.getLastExplicit() == true) {
val result = ArrayList<MarkerBlock>()
if (stateInfo.lastBlock !is ListMarkerBlock) {
result.add(ListMarkerBlock(nextConstraints, productionHolder.mark(), nextConstraints.types.lastOrNull()!!))
}
result.add(ListItemMarkerBlock(nextConstraints, productionHolder.mark()))
return result
} else {
return emptyList()
}
}