anon_flatten/lib.rs
1//! # anon-flatten
2//!
3//! 一个简单的文件目录扁平化工具,让复杂的嵌套文件夹结构变得和爱音一样平。
4//!
5//! ## 功能特性
6//!
7//! - 递归遍历源文件夹
8//! - 将所有嵌套文件扁平化到目标目录
9//! - 智能处理重名文件冲突
10//! - 支持复制或移动模式
11//! - 预览模式查看操作结果
12//!
13//! ## 使用示例
14//!
15//! ```rust,no_run
16//! use anon_flatten::flatten::{FlattenConfig, execute_flatten};
17//! use std::path::PathBuf;
18//!
19//! let config = FlattenConfig {
20//! input: PathBuf::from("./source"),
21//! output: PathBuf::from("./target"),
22//! preview: false,
23//! cut: false,
24//! exclude_extensions: vec![],
25//! };
26//!
27//! config.validate().unwrap();
28//! let count = execute_flatten(&config, None::<fn(&str, usize, usize)>).unwrap();
29//! println!("已处理 {} 个文件", count);
30//! ```
31
32pub mod cli;
33pub mod colors;
34pub mod conflict;
35pub mod error;
36pub mod file_ops;
37pub mod flatten;
38
39pub use error::{FlattenError, Result};
40pub use flatten::{FlattenConfig, collect_files, execute_flatten, preview_operations};