diff options
| author | Jonas Maier <jonas@x77.dev> | 2026-05-31 19:36:01 +0200 |
|---|---|---|
| committer | Jonas Maier <jonas@x77.dev> | 2026-05-31 19:36:01 +0200 |
| commit | 789bea635f6b566af6d2793fee484ce129c33caa (patch) | |
| tree | 585f323b909f90fade205f61bdbd36f9d8c16c40 /src/parse | |
| parent | 81759dd51eb1f6f9a7dc8af9b2b8126ff7dfab24 (diff) | |
| download | pish-789bea635f6b566af6d2793fee484ce129c33caa.tar.gz | |
comment parsing
Diffstat (limited to 'src/parse')
| -rw-r--r-- | src/parse/mod.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs index 5815730..b475943 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -1537,8 +1537,26 @@ impl<'a> Cursor<'a> { matches!(self.buf[0], b' ' | b'\t' | b'\n' | b'\r') } + fn peek_comment(&self) -> bool { + self.has() && self.peek() == b'#' + } + + fn consume_comment(&mut self) { + assert_eq!(self.adv(), b'#'); + while self.has() && self.peek() != b'\n' { + self.adv(); + } + } + fn spaces(&mut self) { - while self.peek_space() { + while { + if self.peek_comment() { + self.consume_comment(); + true + } else { + self.peek_space() + } + } { self.adv(); self.spaced = true; } |
