diff --git a/src/parser/filter_parser.rs b/src/parser/filter_parser.rs index d84d7f8..9061011 100644 --- a/src/parser/filter_parser.rs +++ b/src/parser/filter_parser.rs @@ -7,8 +7,6 @@ use serde_json; #[grammar = "filter.pest"] pub struct FilterParser; -use FilterParser::Rule; - #[derive(Debug)] pub struct Filter { pub name: String, @@ -17,30 +15,30 @@ pub struct Filter { pub fn parse_filter_string(input: &str) -> Result, Box> { let mut filters = Vec::new(); - let pairs = FilterParser::parse(Rule::filters, input)?; + let pairs = FilterParser::parse(FilterParser::Rule::filters, input)?; for pair in pairs { - if pair.as_rule() == Rule::filter { + if pair.as_rule() == FilterParser::Rule::filter { let mut name = String::new(); let mut options = HashMap::new(); for inner_pair in pair.into_inner() { match inner_pair.as_rule() { - Rule::filter_name => { + FilterParser::Rule::filter_name => { name = inner_pair.as_str().to_string(); } - Rule::options => { + FilterParser::Rule::options => { for option_pair in inner_pair.into_inner() { - if option_pair.as_rule() == Rule::option { + if option_pair.as_rule() == FilterParser::Rule::option { let mut option_name = None; let mut option_value = None; for option_inner in option_pair.into_inner() { match option_inner.as_rule() { - Rule::option_name => { + FilterParser::Rule::option_name => { option_name = Some(option_inner.as_str().to_string()); } - Rule::option_value => { + FilterParser::Rule::option_value => { option_value = Some(parse_option_value(option_inner.as_str())?); } _ => {}