pScanDocument

Scans an entire document into a flat list of Lexemes.

Every character in the input is consumed into exactly one lexeme. Each lexeme carries a SourceRange recording its position in the original character stream.

Usage:

val input = ParserInput.of("# Hello\n".toList(), Unit)
val result = pScanDocument<Unit>()(input)
// Success([HashRun(1,..), Space(..), TextRun("Hello",..), Newline(..)], ...)