in src/main/kotlin/com/github/mkartashev/hserr/miner/text/Text.kt [37:50]
fun lineAsTokens(l: Cursor): List<TextRange> {
if (l.isAtEnd() || !l.isValid()) return emptyList()
val result = mutableListOf<TextRange>()
var cur = l.moveToNonWhitespace()
while (cur.isValid() && !cur.isAtEnd() && cur.line == l.line) {
val next = cur.moveToWordEnd()
val s = TextRange.of(cur, next)
if (!s.isEmpty()) result.add(s) else break
cur = next.moveToNextChar().moveToNonWhitespace()
}
return result
}