From 73415f89fceb8d3bf01fa11205c98c7ec635f94f Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Wed, 3 Sep 2025 09:07:14 -0300 Subject: [PATCH] fix: Add missing filter_plugins field and implement get_available_filter_plugins Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) --- src/common/status.rs | 1 + src/modes/status_plugins.rs | 2 +- src/services/filter_service.rs | 12 ++++++++++++ src/services/status_service.rs | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/common/status.rs b/src/common/status.rs index 7995995..cd4bb29 100644 --- a/src/common/status.rs +++ b/src/common/status.rs @@ -144,5 +144,6 @@ pub fn generate_status_info( compression: compression_info, meta_plugins: meta_plugins_map, enabled_meta_plugins: enabled_meta_plugins_vec, + filter_plugins: Vec::new(), // Initialize with empty vector } } diff --git a/src/modes/status_plugins.rs b/src/modes/status_plugins.rs index bbf885b..7b9e413 100644 --- a/src/modes/status_plugins.rs +++ b/src/modes/status_plugins.rs @@ -14,7 +14,7 @@ use prettytable::format::consts::{FORMAT_BOX_CHARS, FORMAT_NO_BORDER_LINE_SEPARA use crate::meta_plugin::{MetaPluginType, get_meta_plugin}; use crate::common::status::{MetaPluginInfo, CompressionInfo}; -use crate::filter_plugin; +use crate::services::filter_service::get_available_filter_plugins; use prettytable::color; diff --git a/src/services/filter_service.rs b/src/services/filter_service.rs index 8eccabc..3feba35 100644 --- a/src/services/filter_service.rs +++ b/src/services/filter_service.rs @@ -1,4 +1,5 @@ use crate::filter_plugin::{FilterChain, parse_filter_string}; +use std::collections::HashMap; use std::io::{Result, Read, Write}; pub struct FilterService; @@ -46,3 +47,14 @@ impl FilterService { Ok(writer) } } + +/// Get a map of available filter plugins +pub fn get_available_filter_plugins() -> HashMap Box> { + let mut plugins = HashMap::new(); + + // Add your filter plugins here + // Example: + // plugins.insert("example_filter".to_string(), || Box::new(ExampleFilter::new())); + + plugins +} diff --git a/src/services/status_service.rs b/src/services/status_service.rs index 55ae8e5..6e50bd4 100644 --- a/src/services/status_service.rs +++ b/src/services/status_service.rs @@ -2,7 +2,7 @@ use crate::common::status::{generate_status_info, StatusInfo}; use crate::config::Settings; use crate::meta_plugin::MetaPluginType; use crate::compression_engine::CompressionType; -use crate::filter_plugin; +use crate::services::filter_service::get_available_filter_plugins; use clap::Command; use std::path::PathBuf; use std::str::FromStr;