paline 0.4.2

一个用 Rust 编写的代码行数统计命令行工具。递归扫描目录,按编程语言统计行数,并以彩色横向条形图在终端中可视化展示。
paline-0.4.2 is not a library.

paline

License: MIT rustc

一个快速统计代码行数的命令行工具。递归扫描目录,按编程语言统计行数,并在终端中以彩色横向条形图直观展示各语言的行数占比。

特性

  • 递归扫描目录,自动跳过 .gitignore 中忽略的文件与隐藏文件
  • 根据扩展名识别多种常见编程语言 / 标记语言(C/C++、Python、Java、Go、Rust、JS/TS、Shell 等)
  • 基于 rayon 并行统计,大项目速度快
  • 彩色条形图 + 语言图例,占比一目了然
  • 支持 -vv 逐文件调试日志

快速开始

git clone https://github.com/luxpapilio/paline.git
cd paline && cargo build --release

使用

# 统计当前目录(默认)
paline stats

# 统计指定目录
paline stats -p /path/to/project

# 输出调试日志(-vv 显示逐文件追踪)
paline stats -vv

# 统计当前 git 仓库某个 Commit
paline stats -c eaece83c2369440d9a321080deb034acf08cd115

# 对比 base commit 与当前工作树的净变化
paline diff --base eaece83c2369440d9a321080deb034acf08cd115

# 对比两个 commit 的净变化
paline diff --base eaece83c2369440d9a321080deb034acf08cd115 --target b87ed48c2369440d9a321080deb034acf08cd115

命令行参数

参数 说明
stats [OPTIONS] 统计目录或指定 commit 的行数 -c --commit <commit hash> 参数表示要统计的 commit 的 hash
diff --base <commit> [--target <commit|WORKTREE>] 对比 base commit 与 target 的净变化,target 默认为 WORKTREE(当前工作树),也可以是另一个 commit hash
-p, --path <PATH> 要统计的文件或目录,默认为 .(当前目录)
-v, --verbose 输出 debug 日志,-vv 显示逐文件追踪
-h, --help 显示帮助信息
-V, --version 显示版本号

行数统计规则

  • 按换行符 \n 计数
  • 文件末尾缺少换行符时补计一行
  • 空文件计 0 行

贡献

欢迎提交 Issue 和 Pull Request!
请确保代码通过 cargo fmt

许可

MIT ,详见 LICENSE