mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-03 11:42:28 +00:00
Add peek_n to package text/scanner
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user