harper-core 2.0.0

The language checker for developers.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use super::Pattern;

pub struct WhitespacePattern;

impl Pattern for WhitespacePattern {
    fn matches(&self, tokens: &[crate::Token], _source: &[char]) -> Option<usize> {
        let count = tokens
            .iter()
            .position(|t| !t.kind.is_whitespace())
            .unwrap_or(tokens.len());

        if count == 0 { None } else { Some(count) }
    }
}