feat: Register skip and tail filter plugins

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:36:13 -03:00
parent a76f3bfc56
commit e1402807c4
2 changed files with 16 additions and 0 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 SkipBytesFilter {
remaining: usize,
@@ -135,3 +136,10 @@ impl FilterPlugin for SkipLinesFilter {
]
}
}
// Register the plugin at module initialization time
#[ctor::ctor]
fn register_skip_filters() {
register_filter_plugin("skip_bytes", || Box::new(SkipBytesFilter::new(0)));
register_filter_plugin("skip_lines", || Box::new(SkipLinesFilter::new(0)));
}

View File

@@ -2,6 +2,7 @@ use super::{FilterPlugin, FilterOption};
use std::io::{Result, Read, Write, BufRead};
use std::collections::VecDeque;
use crate::common::PIPESIZE;
use crate::services::filter_service::register_filter_plugin;
pub struct TailBytesFilter {
buffer: VecDeque<u8>,
@@ -150,3 +151,10 @@ impl FilterPlugin for TailLinesFilter {
]
}
}
// Register the plugin at module initialization time
#[ctor::ctor]
fn register_tail_filters() {
register_filter_plugin("tail_bytes", || Box::new(TailBytesFilter::new(0)));
register_filter_plugin("tail_lines", || Box::new(TailLinesFilter::new(0)));
}