pub struct DiffFilter { /* private fields */ }Expand description
Files and patterns to skip before sending to LLM.
§Examples
use argus_difflens::filter::DiffFilter;
let filter = DiffFilter::default_filter();
assert!(filter.should_skip("package-lock.json"));
assert!(!filter.should_skip("src/main.rs"));Implementations§
Source§impl DiffFilter
impl DiffFilter
Sourcepub fn default_filter() -> Self
pub fn default_filter() -> Self
Create a filter with sensible defaults.
§Examples
use argus_difflens::filter::DiffFilter;
let filter = DiffFilter::default_filter();
assert!(filter.should_skip("yarn.lock"));Sourcepub fn from_config(config: &ReviewConfig) -> Self
pub fn from_config(config: &ReviewConfig) -> Self
Create a filter from review configuration.
§Examples
use argus_core::ReviewConfig;
use argus_difflens::filter::DiffFilter;
let config = ReviewConfig::default();
let filter = DiffFilter::from_config(&config);
assert!(filter.should_skip("Cargo.lock"));Sourcepub fn should_skip(&self, path: &str) -> bool
pub fn should_skip(&self, path: &str) -> bool
Check if a single file path should be skipped.
§Examples
use argus_difflens::filter::DiffFilter;
let filter = DiffFilter::default_filter();
assert!(filter.should_skip("vendor/lib.js"));
assert!(!filter.should_skip("src/lib.rs"));Sourcepub fn filter(&self, diffs: Vec<FileDiff>) -> FilterResult
pub fn filter(&self, diffs: Vec<FileDiff>) -> FilterResult
Filter a list of FileDiffs, returning only reviewable ones.
§Examples
use argus_difflens::filter::DiffFilter;
use argus_difflens::parser::parse_unified_diff;
let diff = "diff --git a/src/main.rs b/src/main.rs\n\
--- a/src/main.rs\n\
+++ b/src/main.rs\n\
@@ -1,2 +1,3 @@\n\
line\n\
+new\n";
let diffs = parse_unified_diff(diff).unwrap();
let filter = DiffFilter::default_filter();
let result = filter.filter(diffs);
assert_eq!(result.kept.len(), 1);
assert!(result.skipped.is_empty());Auto Trait Implementations§
impl Freeze for DiffFilter
impl RefUnwindSafe for DiffFilter
impl Send for DiffFilter
impl Sync for DiffFilter
impl Unpin for DiffFilter
impl UnsafeUnpin for DiffFilter
impl UnwindSafe for DiffFilter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more