3 个版本

0.1.2 2024年5月13日
0.1.1 2024年5月13日
0.1.0 2024年5月13日

#122Cargo 插件

MIT/Apache

13KB
88 代码行

cargoloc

在 Cargo 项目中统计整个依赖树中的代码行数。由 tokei 驱动。

安装

cargo安装 cargo-loc

功能

  • 使用 --no-default-features--all-features--features=... 选择功能
  • 限制分析到特定平台,例如 --filter-platform=x86_64-unknown-linux-gnu
  • 使用 --manifest-path 指定项目
  • 识别多种语言,按语言进行拆分
  • 区分所有语言中的代码、注释和空白行

尚未实现的功能

  • 排除 dev 依赖和 build 依赖
  • 分析整个 Cargo 仓库而不是单个 crate(及其依赖)
  • 类似 tokei 的花哨表格输出
  • 任何类型的配置
  • 理解你实际使用并计数的大 crate(如 libc)的哪些部分(请参阅 painter

示例输出

这是 cargo loc 在自身上运行的结果

Top 20 largest dependencies:
504205 lines (133025 code): encoding_rs v0.8.34
384808 lines (384747 code): windows-sys v0.52.0
180430 lines (177051 code): winapi v0.3.9
121145 lines (109166 code): libc v0.2.154
54867 lines (51333 code): syn v2.0.63
52523 lines (49170 code): regex-syntax v0.8.3
40453 lines (29483 code): regex-automata v0.4.6
25319 lines (19553 code): rayon v1.10.0
24113 lines (22640 code): pest v2.7.10
23105 lines (18998 code): chrono v0.4.38
20150 lines (16943 code): serde_json v1.0.117
19282 lines (10602 code): wasm-bindgen v0.2.92
17237 lines (10962 code): regex v1.10.4
17095 lines (12062 code): clap v2.34.0
16593 lines (13567 code): crossbeam-channel v0.5.12
16379 lines (13118 code): chrono-tz v0.8.6
15108 lines (11379 code): aho-corasick v1.1.3
14221 lines (11915 code): tera v1.19.1
13421 lines (9231 code): libm v0.2.8
12701 lines (10742 code): serde v1.0.201

Breakdown of the total lines by language:
Rust: 1436510
Plain Text: 369964
Markdown: 35129
TOML: 19082
C: 8803
HTML: 4028
JavaScript: 2790
Python: 2759
JSON: 1432
Makefile: 1361
C Header: 1153
F*: 830
Pest: 735
YAML: 238
Shell: 186
BASH: 183
ReStructuredText: 179
C++: 67
Dockerfile: 9
Pan: 3

Total lines: 1885441
(1355598 code, 444701 comments, 85142 blank lines)

好诡异!

依赖

~11–22MB
~362K SLoC