summaryrefslogtreecommitdiff
path: root/support/texlab/src/util/regex_filter.rs
blob: f107ea16fec825b5f85364d2f5bced0a1daeac76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use crate::RegexPattern;

pub fn filter(
    text: &str,
    allowed_patterns: &[RegexPattern],
    ignored_patterns: &[RegexPattern],
) -> bool {
    if !allowed_patterns.is_empty()
        && !allowed_patterns
            .iter()
            .any(|pattern| pattern.0.is_match(text))
    {
        return false;
    }

    if ignored_patterns
        .iter()
        .any(|pattern| pattern.0.is_match(text))
    {
        return false;
    }

    true
}