sherlock-io 1.2.0

SherlockIO - Language detection CLI tool
Documentation
use clap::{Parser, ValueEnum};
use std::path::PathBuf;

#[derive(Parser)]
#[command(
    name = "sherlock",
    about = "Lightning-fast language detection for your projects",
    version,
    author
)]
pub struct Args {
    /// Directory to analyze
    #[arg(default_value = ".")]
    pub path: PathBuf,

    /// Maximum directory depth to scan
    #[arg(short, long, default_value = "10")]
    pub max_depth: usize,

    /// Output format
    #[arg(short, long, value_enum, default_value = "table")]
    pub format: OutputFormat,

    /// Show detailed file breakdown
    #[arg(short = 'v', long)]
    pub verbose: bool,

    /// Minimum percentage to show in report
    #[arg(long, default_value = "0.1")]
    pub min_percentage: f64,

    /// Include hidden files and directories
    #[arg(long)]
    pub include_hidden: bool,
}

#[derive(Clone, ValueEnum)]
pub enum OutputFormat {
    /// Human-readable table format
    Table,
    /// JSON output
    Json,
    /// CSV format
    Csv,
}