fix: make finish method public and fix ringbuf method names

Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-29 10:18:57 -03:00
parent 3cfcbf0edd
commit 1a4e9d531a
3 changed files with 11 additions and 11 deletions

View File

@@ -41,7 +41,7 @@ impl FilterChain {
Ok(current_data)
}
fn finish(&mut self) -> Result<Vec<u8>> {
pub fn finish(&mut self) -> Result<Vec<u8>> {
let mut result = Vec::new();
// Process each plugin's finish method and collect results

View File

@@ -68,7 +68,7 @@ impl FilterPlugin for TailLinesFilter {
// Iterate backwards to find the starting point
for i in (0..self.ring_buffer.len()).rev() {
let index = (self.ring_buffer.write_index() as isize - 1 - i as isize)
let index = (self.ring_buffer.write_pos() as isize - 1 - i as isize)
.rem_euclid(self.ring_buffer.capacity() as isize) as usize;
let byte = self.ring_buffer[index];
@@ -85,7 +85,7 @@ impl FilterPlugin for TailLinesFilter {
let start_index = self.ring_buffer.len() - bytes_to_keep;
let mut result = Vec::with_capacity(bytes_to_keep);
for i in start_index..self.ring_buffer.len() {
let index = (self.ring_buffer.write_index() as isize - (self.ring_buffer.len() - i) as isize)
let index = (self.ring_buffer.write_pos() as isize - (self.ring_buffer.len() - i) as isize)
.rem_euclid(self.ring_buffer.capacity() as isize) as usize;
result.push(self.ring_buffer[index]);
}

View File

@@ -147,13 +147,13 @@ impl ItemService {
conn: &Connection,
id: i64,
head_bytes: Option<usize>,
head_words: Option<usize>,
_head_words: Option<usize>,
head_lines: Option<usize>,
tail_bytes: Option<usize>,
tail_words: Option<usize>,
_tail_words: Option<usize>,
tail_lines: Option<usize>,
line_start: Option<usize>,
line_end: Option<usize>,
_line_start: Option<usize>,
_line_end: Option<usize>,
grep: Option<String>,
) -> Result<(Vec<u8>, String, bool), CoreError> {
// Use streaming approach to handle all filtering options consistently
@@ -238,13 +238,13 @@ impl ItemService {
conn: &Connection,
id: i64,
head_bytes: Option<usize>,
head_words: Option<usize>,
_head_words: Option<usize>,
head_lines: Option<usize>,
tail_bytes: Option<usize>,
tail_words: Option<usize>,
_tail_words: Option<usize>,
tail_lines: Option<usize>,
line_start: Option<usize>,
line_end: Option<usize>,
_line_start: Option<usize>,
_line_end: Option<usize>,
grep: Option<String>,
) -> Result<(Box<dyn Read + Send>, String, bool), CoreError> {
let item_with_meta = self.get_item(conn, id)?;