Crate purger

Crate purger 

Source
Expand description

§Purger

A tool for cleaning Rust project build directories.

This crate provides both command-line and GUI interfaces for scanning and cleaning Rust project target directories to free up disk space.

§Features

  • Scan directories for Rust projects
  • Clean target directories using cargo clean or direct deletion
  • Progress tracking for cleaning operations
  • Both CLI and GUI interfaces

§Usage

§Command Line

# Scan current directory
purger scan

# Clean all projects in current directory
purger clean --all

# Dry run to see what would be cleaned
purger clean --dry-run

§As a Library

use purger_core::{ProjectScanner, ProjectCleaner, scanner::ScanConfig, cleaner::CleanConfig};
use std::path::Path;

// Scan for projects
let scanner = ProjectScanner::new(ScanConfig::default());
let projects = scanner.scan(Path::new("."))?;

// Clean projects (using dry_run to avoid actual deletion)
let mut clean_config = CleanConfig::default();
clean_config.dry_run = true; // Use dry run to avoid permission issues
let cleaner = ProjectCleaner::new(clean_config);
for project in &projects {
    let _ = cleaner.clean_project(project); // Ignore result in doc test
}

Modules§

cleaner
filter
project
scanner

Structs§

CleanConfig
清理器配置
CleanFailure
清理结果统计
CleanProgress
清理进度信息
CleanResult
ProjectCleaner
项目清理器
ProjectFilter
项目过滤器
ProjectScanner
Rust项目扫描器
RustProject
Rust project metadata
ScanConfig
项目扫描器配置

Enums§

CleanPhase
清理阶段
CleanStrategy
清理策略
DirectDeleteBackend
Backend for CleanStrategy::DirectDelete.

Functions§

format_bytes
格式化字节大小为人类可读格式