Add peek_n to package text/scanner

This commit is contained in:
gingerBill
2020-12-07 10:55:27 +00:00
parent 98c8fde098
commit 96d8971d87

View File

@@ -160,6 +160,21 @@ peek :: proc(s: ^Scanner) -> rune {
return s.ch;
}
peek_n :: proc(s: ^Scanner, n: int) -> rune {
assert(n >= 0);
if n == 0 {
return peek(s);
}
prev_s := s^;
for in 0..<n {
next(s);
}
ch := peek(s);
s^ = prev_s;
return ch;
}
error :: proc(s: ^Scanner, msg: string) {
s.error_count += 1;