diff --git a/src/services/filter_service.rs b/src/services/filter_service.rs index e718cec..a61085e 100644 --- a/src/services/filter_service.rs +++ b/src/services/filter_service.rs @@ -50,11 +50,17 @@ impl FilterService { /// Get a map of available filter plugins pub fn get_available_filter_plugins() -> HashMap Box> { - let plugins = HashMap::new(); + let mut plugins = HashMap::new(); - // Add your filter plugins here - // Example: - // plugins.insert("example_filter".to_string(), || Box::new(ExampleFilter::new())); + // Register all available filter plugins + plugins.insert("head_bytes".to_string(), || Box::new(crate::filter_plugin::head::HeadBytesFilter::new(0))); + plugins.insert("head_lines".to_string(), || Box::new(crate::filter_plugin::head::HeadLinesFilter::new(0))); + plugins.insert("tail_bytes".to_string(), || Box::new(crate::filter_plugin::tail::TailBytesFilter::new(0))); + plugins.insert("tail_lines".to_string(), || Box::new(crate::filter_plugin::tail::TailLinesFilter::new(0))); + plugins.insert("skip_bytes".to_string(), || Box::new(crate::filter_plugin::skip::SkipBytesFilter::new(0))); + plugins.insert("skip_lines".to_string(), || Box::new(crate::filter_plugin::skip::SkipLinesFilter::new(0))); + plugins.insert("grep".to_string(), || Box::new(crate::filter_plugin::grep::GrepFilter::new("".to_string()).unwrap())); + plugins.insert("strip_ansi".to_string(), || Box::new(crate::filter_plugin::strip_ansi::StripAnsiFilter::new())); plugins }