le-change 0.1.1

Ultra-fast Git change detection library with zero-cost abstractions
Documentation

LeChange Core

Ultra-fast Git change detection library with zero-cost abstractions.

This library provides high-performance git diff operations using:

  • GATs (Generic Associated Types) for zero-cost async
  • Lifetimes over Arc for zero-copy string handling
  • String interning for path deduplication
  • Rayon for CPU-bound parallel processing
  • Tokio for async I/O operations

Example

use lechange_core::{InputConfig, detect_changes};
use std::borrow::Cow;

# async fn example() -> Result<(), Box<dyn std::error::Error>> {
let config = InputConfig {
    base_sha: Some(Cow::Borrowed("HEAD^")),
    sha: Some(Cow::Borrowed("HEAD")),
    ..Default::default()
};

let result = detect_changes(config).await?;
println!("Changed files: {}", result.all_files.len());
# Ok(())
# }