1 个不稳定版本
0.2.1 | 2020年8月27日 |
---|
#12 in #loc
72KB
1.5K SLoC
rlocc
只是一个速度极快的LOC计数器。
它工作(而且非常快)但尚未完成。您可以通过以下已知问题来确保您想使用它。
免责声明
这是我第一次用Rust做的项目;在阅读Rust Book时开发的!对于可能滥用语言,我向Rust社区表示诚挚的歉意;在我编写rlocc的时候,我还在与借用检查器斗争 :P
内容
构建
假设Rust已经安装,可以使用提供的Makefile构建rlocc
$ make
它通常使用cargo
$ RUSTFLAGS="-Ctarget-cpu=native" cargo build --release
用法
尽管rlocc
被开发为一个库,但目前它主要通过附带的二进制文件使用。换句话说,它的API并不是为在提供的二进制文件之外使用而精心设计的。
作为一个命令行工具,rlocc
非常简单易用:它接收任何数量的文件或目录名称作为命令行输入,并遍历它们进行计数。
例如,要统计file1
、../file3
以及~/dir2
下的所有文件,可以发出以下命令:
$ rlocc file1 ~/dir2 ../file3
目前不支持任何命令行标志。
平台
到目前为止,rlocc
仅在linux/amd64
上测试过,使用Rust 1.42.0
或更高版本。
支持的文件类型
目前rlocc
支持76种文件类型。它主要通过文件名扩展名猜测文件类型,只有少数例外(对于Makefile、Dockerfile等)。
支持的所有文件类型的详尽列表
- Ada
- 汇编
- Autoconf
- AWK
- 批处理
- C
- C++
- C/C++头文件
- C#
- Clojure
- CMake
- COBOL
- CSV
- CSS
- D
- Dart
- Delphi
- Dockerfile
- Eiffel
- Elm
- Elixir
- Erlang
- F#
- .gitignore
- Go
- Haskell
- HTML
- Java
- JavaScript
- JSON
- Julia
- Jupyter
- Kotlin
- 许可文件
- Lisp
- Lua
- Makefile
- MAL (MonetDB)
- Markdown
- Matlab
- Nim
- Nix
- OCaml
- OpenCL
- Pascal
- Perl
- PHP
- 纯文本
- Pony
- PowerShell
- Protocol Buffers
- Python
- R
- ReStructuredText
- Ruby
- Rust
- Scala
- Scheme
- Sed
- Shell
- SML
- Solidity
- SQL
- Swift
- Systemd
- TeX
- Tcl
- TOML
- TypeScript
- V
- Vala
- VimL
- WebAssembly(文本格式)
- YAML
- XML
- Zig
已知问题 & TODOs
-
TODO: 在crates.io上发布时,需要提供适当的代码和安装文档。
-
TODO: 为二进制文件提供命令行选项。
-
TODO: 目前,当一个多行注释的开始标记出现在字符串内(任何同时支持多行注释和字符串的受支持语言中),
rlocc
无法处理它,并且该整个文件的LOC计数结果很可能计算错误。 -
嵌套注释未处理。(我不认为我会修复这个问题,因为它并不是我真正关心的用例。)
依赖项
~545KB