ib_matcher/matcher/
pattern.rs

1#![cfg_attr(not(feature = "syntax"), allow(dead_code))]
2use crate::matcher::encoding::EncodedStr;
3
4#[derive(Debug)]
5pub struct Pattern<'a, HaystackStr>
6where
7    HaystackStr: EncodedStr + ?Sized,
8{
9    pub(crate) pattern: &'a HaystackStr,
10    pub(crate) lang_only: Option<LangOnly>,
11}
12
13impl<'a, HaystackStr> From<&'a HaystackStr> for Pattern<'a, HaystackStr>
14where
15    HaystackStr: EncodedStr + ?Sized,
16{
17    fn from(value: &'a HaystackStr) -> Self {
18        Self {
19            pattern: value,
20            lang_only: None,
21        }
22    }
23}
24
25#[derive(Debug, PartialEq, Eq)]
26pub(crate) enum LangOnly {
27    English,
28    Pinyin,
29    Romaji,
30}