sherlock-io 0.1.0

SherlockIO - Lightning-fast language detection CLI tool
Documentation
use anyhow::Result;
use clap::Parser;

mod cli;
mod detector;
mod languages;
mod reporter;
mod scanner;

use cli::Args;
use detector::LanguageDetector;
use reporter::Reporter;
use scanner::Scanner;

fn main() -> Result<()> {
    let args = Args::parse();
    
    let scanner = Scanner::new().with_include_hidden(args.include_hidden);
    let detector = LanguageDetector::new()?;
    let reporter = Reporter::new();
    
    let files = scanner.scan_directory(&args.path, args.max_depth)?;
    let analysis = detector.analyze_files(&files)?;
    
    reporter.generate_report(&analysis, args.format)?;
    
    Ok(())
}