4个版本
0.2.1 | 2024年4月26日 |
---|---|
0.2.0 | 2024年3月27日 |
0.1.1 | 2024年2月13日 |
0.1.0 | 2023年3月11日 |
1579 在 文件系统
131 每月下载量
在 cargo-files 中使用
18KB
350 行
cargo-files
列出cargo crate中所有源文件的工具。
动机
在我编写cargo-derivefmt的时候,我希望有一种简单的方法来获取cargo crate中的源文件。我没有找到现有的crate能够做这个,所以我写了这个。
这个库仍在开发中。可能存在许多问题和不受支持的情况。
命令行界面
对于最终用户,我们提供了一个命令行界面,可以列出crate中的所有源文件。
安装
cargo install
(crates.io)
cargo install cargo-files --locked
cargo install
(master)
cargo install --git https://github.com/dcchut/cargo-files --locked
使用方法
cargo files
示例输出
> cargo files
/home/dcchut/cargo-files/cargo-files/src/main.rs
/home/dcchut/cargo-files/cargo-files-core/src/lib.rs
/home/dcchut/cargo-files/cargo-files-core/src/parser.rs
/home/dcchut/cargo-files/cargo-files-core/tests/tests.rs
/home/dcchut/cargo-files/cargo-files-test/src/lib.rs
开发者
cargo-files-core
crate包含cargo-files
背后的逻辑,可以被关注源文件的其他应用程序重用。目前API非常简单,但任何改进建议都欢迎!
最小示例
use cargo_files_core::{get_targets, get_target_files, Error};
fn main() -> Result<(), Error> {
// Each target (e.g. bin/lib) in your workspace will contribute a target.
let targets = get_targets(None)?;
for target in targets {
// Get all the files related to a specific target.
let files = get_target_files(&target)?;
for file in files {
println!("{}", file.display());
}
}
Ok(())
}
依赖项
~1–2MB
~40K SLoC