litcheck_filecheck/pattern/search/
regex.rs1use crate::common::Range;
2
3use super::{DefaultSearcher, Input, Match};
4
5pub type RegexSearcher<'input> = DefaultSearcher<
6 regex_automata::Input<'input>,
7 regex_automata::Match,
8 regex_automata::MatchError,
9>;
10
11impl Match for regex_automata::Match {
12 type PatternID = regex_automata::PatternID;
13
14 fn is_empty(&self) -> bool {
15 regex_automata::Match::is_empty(self)
16 }
17 fn pattern(&self) -> Self::PatternID {
18 regex_automata::Match::pattern(self)
19 }
20 fn end(&self) -> usize {
21 regex_automata::Match::end(self)
22 }
23 fn range(&self) -> Range<usize> {
24 regex_automata::Match::range(self).into()
25 }
26}
27
28impl<'input> Input for regex_automata::Input<'input> {
29 fn buffer(&self) -> &[u8] {
30 self.haystack()
31 }
32 fn anchored(&self) -> bool {
33 self.get_anchored().is_anchored()
34 }
35 fn range(&self) -> Range<usize> {
36 regex_automata::Input::get_range(self).into()
37 }
38 fn start(&self) -> usize {
39 regex_automata::Input::start(self)
40 }
41 fn set_start(&mut self, start: usize) {
42 regex_automata::Input::set_start(self, start)
43 }
44 fn set_range(&mut self, range: Range<usize>) {
45 regex_automata::Input::set_range(self, range)
46 }
47}