refactor: Use plugin registry for filter service discovery

Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-09-03 09:31:05 -03:00
parent 96deafbf78
commit 21f195d8f6
3 changed files with 21 additions and 46 deletions

View File

@@ -1,6 +1,7 @@
use super::{FilterPlugin, FilterOption};
use std::io::{Result, Read, Write, BufRead};
use crate::common::PIPESIZE;
use crate::services::filter_service::register_filter_plugin;
pub struct HeadBytesFilter {
remaining: usize,
@@ -96,3 +97,10 @@ impl FilterPlugin for HeadLinesFilter {
]
}
}
// Register the plugin at module initialization time
#[ctor::ctor]
fn register_head_filters() {
register_filter_plugin("head_bytes", || Box::new(HeadBytesFilter::new(0)));
register_filter_plugin("head_lines", || Box::new(HeadLinesFilter::new(0)));
}