Count, or compute differences of, lines of source code and comments.
--> Calculate -\
explorer(walk directory) -- channel<PathBuf> --> Calculate -> Sum
--> Calculate -/
由一个线程去递归读取某目录下的路径, 然后通过管道, 将路径发送到管道中, 管道的接收方(多个线程)收到路径,读取文件中的内容, 计算出相关的数据, 最后将 产生的数据进行聚合.
e.g.
``` $ cargo run -- src/
9 text files.
0 files ignored.
┌────────────────────────────────────────────────────┐ | Language Code Comment Blank | ├────────────────────────────────────────────────────┤ | Rust 477 15 92 | ├────────────────────────────────────────────────────┤ | Sum 477 15 92 | └────────────────────────────────────────────────────┘ ```
cargo install --path .
src/config.rs
文件中, Config
结构体的default
方法中, 使用language!
宏来定义规则.language!($name, $ext, $single, $multi)
src/lib.rs
文件中,为枚举Language
添加对应的成员.参数解释:
src/lib.rs
的Language
枚举unwrap()