proc newScanner[T](s: seq[T]): Scanner[T]
-
proc scan[T](s: seq[T]): Scanner[T]
-
proc scan(raw: string): Scanner[Rune] {...}{.raises: [], tags: [].}
-
func finished[T](sc: Scanner[T]): bool
-
func prev[T](sc: Scanner[T]): T
-
func curr[T](sc: Scanner[T]): T
-
func next[T](sc: Scanner[T]): T
-
return current item and consume it
func peek(sc: Scanner[Rune]): Rune {...}{.raises: [], tags: [].}
-
func peek(sc: Scanner[Node]): Node {...}{.raises: [], tags: [].}
-
func peek(sc: Scanner[Rune]; n: int): Rune {...}{.raises: [], tags: [].}
-
func find(sc: Scanner[Rune]; r: Rune): int {...}{.raises: [], tags: [].}
-
return number of consumed chars. The scanner's position is not moved. -1 is returned when char is not found