fix: Correct module path for FilterParser::Rule usage

Co-authored-by: aider (openai/andrew/openrouter/sonoma-sky-alpha) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-09-10 16:55:19 -03:00
parent 94e82e132a
commit 4d16762d4c

View File

@@ -7,8 +7,6 @@ use serde_json;
#[grammar = "filter.pest"]
pub struct FilterParser;
use self::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<Vec<Filter>, Box<dyn std::error::Error>> {
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())?);
}
_ => {}