#language #line #detect #directory #parse #gitignore #generate

project_parse

解析代码项目目录,检测主要编程语言,计算代码行数等

5 个版本

0.1.4 2022年4月2日
0.1.3 2022年4月2日
0.1.2 2022年3月30日
0.1.1 2022年3月30日
0.1.0 2022年3月29日

文件系统 中排名 1068

MIT 许可证

45KB
893 代码行

如何?

此模块解析编码项目目录并执行一些巧妙的事情,例如

  • 通过查看package.json、Cargo.toml等熟悉文件来检测主要项目语言。
  • 根据检测到的语言生成通用的gitignore内容。基于这些语言的 gitignores
  • 生成gitignore规则,然后可用于检查项目中的任何文件/目录是否被忽略。
  • 通过计算每个未忽略的代码文件的代码行数来生成项目内的代码统计。

如何使用?


let dir = "/my/project/dir";
// Init new project::Project
let mut project = project::Project::new(dir)?;

// Parse project
project.parse()?;

// Add some files to ignore
let ignore_str = "files/to/ignore/1.js \n files/to/ignore/2.rs ";

// Pass false for update_existing to update generic 
project.set_gitignore(ignore_str, &false)?;

// If you would like to also add the user defined 
project.use_project_gitignore(&true)?;

// Check if a specific file is ignored
println!("1 {:?}", project.is_ignored("files/to/ignore/1.js"));

// Get project code stats. 
project.get_code_stats()?;
println!("{:#?}", project);

依赖关系

~11–21MB
~301K SLoC