scribe-scanner 0.4.0

High-performance file system scanning and indexing for Scribe
Documentation

Scribe Scanner

High-performance file system scanning and indexing capabilities for the Scribe library. This crate provides efficient tools for discovering, filtering, and analyzing files in large codebases with git integration and parallel processing.

Features

  • Fast Repository Traversal: Efficient file discovery using walkdir and ignore
  • Git Integration: Prefer git ls-files when available, with fallback to filesystem walk
  • Language Detection: Automatic detection for 25+ programming languages
  • Content Analysis: Extract imports, documentation structure, and metadata
  • Parallel Processing: Memory-efficient parallel file processing using Rayon
  • Binary Detection: Smart binary file detection using content analysis

Usage

use scribe_scanner::{Scanner, ScanOptions};
use std::path::Path;

# async fn example() -> scribe_core::Result<()> {
let scanner = Scanner::new();
let options = ScanOptions::default()
    .with_git_integration(true)
    .with_parallel_processing(true);

let results = scanner.scan(Path::new("."), options).await?;
println!("Scanned {} files", results.len());
# Ok(())
# }