harper_core/patterns/whitespace_pattern.rs
1use super::Pattern;
2
3pub struct WhitespacePattern;
4
5impl Pattern for WhitespacePattern {
6 fn matches(&self, tokens: &[crate::Token], _source: &[char]) -> Option<usize> {
7 let count = tokens
8 .iter()
9 .position(|t| !t.kind.is_whitespace())
10 .unwrap_or(tokens.len());
11
12 if count == 0 { None } else { Some(count) }
13 }
14}