harper_core/expr/
space_or_hyphen.rs1use crate::expr::FirstMatchOf;
2use crate::patterns::WhitespacePattern;
3use crate::{Span, Token};
4
5use super::Expr;
6
7#[derive(Default)]
9pub struct SpaceOrHyphen;
10
11impl Expr for SpaceOrHyphen {
12 fn run(&self, cursor: usize, tokens: &[Token], source: &[char]) -> Option<Span<Token>> {
13 FirstMatchOf::new(vec![
14 Box::new(WhitespacePattern),
15 Box::new(|tok: &Token, _source: &[char]| tok.kind.is_hyphen()),
16 ])
17 .run(cursor, tokens, source)
18 }
19}