12 个版本
| 新 0.2.6 | 2024 年 8 月 24 日 |
|---|---|
| 0.2.5 | 2024 年 8 月 23 日 |
| 0.1.4 | 2024 年 8 月 21 日 |
59 在 编程语言 中排名
每月下载 875 次
20KB
268 行
Splik
Splik (Simple Language Identifier Kit) 是一个用于识别项目中使用语言的轻量级 CLI 工具。它具有与 onefetch 类似的特性,但具有更聚焦的功能,并且不需要目录是 git 项目。
Splik 可以
- 计算目录内所有识别的编程语言文件的总量(字节、行、文件数)
- 按使用频率从高到低显示语言及其信息列表
- 列出目录中属于给定编程语言的全部文件
- 使用常见指示符(如
.git、node_modules、Cargo.toml等)识别项目根目录
安装
Splik 通过 Cargo 在所有平台上都可用
cargo install splik
用法
要在当前目录下运行 splik,只需运行 splik
splik
以下为可用选项列表
输出[人类可读-可读|JSON|YAML] (=人类可读-可读)- 输出格式。默认为人类可读,但也可以指定其他格式以便脚本轻松解析。
包含-dotfiles[布尔值] (= false)- 是否不忽略以点(.)开头的文件和目录(例如
.vscode,.git等)。默认关闭,以忽略这些内容。
- 是否不忽略以点(.)开头的文件和目录(例如
查找[字符串|null] (=null)- 查找给定语言的全部文件,而不是列出所有语言。这将打印给定编程语言文件的绝对路径,不区分大小写。
查找-根目录[布尔值] (= false)- 查找并打印项目根目录,使用常见指示符(如
.git、Cargo.toml、node_modules等)。
- 查找并打印项目根目录,使用常见指示符(如
排除[字符串[]] (= [])- 排除列表,包括要排除的编程语言
包含[字符串[]] (= [])- 默认忽略的文件/目录名称列表(例如
node_modules、target等),但要在计数和显示中包含。
- 默认忽略的文件/目录名称列表(例如
此处[布尔值] (= false)- 不搜索根目录;在当前目录上运行
splik
- 不搜索根目录;在当前目录上运行
参考
Splik 识别以下语言/扩展名
| 语言 | 扩展名 |
|---|---|
| 汇编 | .汇编语言 |
| Bash | .bash |
| C语言 | .c, .h |
| C++ | .cpp, .cxx, .cc, .c++, .hpp, .hxx, .hh, .h++ |
| C# | .cs |
| Fortran | .f, .for, .f90, .f95 |
| Gleam | .gleam |
| Go | .go |
| Haskell | .hs, .lhs |
| Java | .java |
| JavaScript | .js, .mjs, .cjs |
| JavaScript React | .jsx |
| Kotlin | .kt |
| Lua | .lua |
| MATLAB | .m |
| PHP | .php |
| Python | .py |
| R语言 | .r |
| Ruby | .rb |
| Rust | .rs |
| SQL | .sql |
| Svelte | .svelte |
| Swift | .swift |
| TypeScript | .ts |
| TypeScript React | .tsx |
| V | .v |
| Vue | .vue |
| Zig | .zig |
限制
Splik存在一些限制
- 文件的编程语言纯粹由其扩展名/名称决定。文件的实际内容不会被分析。这可能导致不准确 - 例如,没有阻止你将
main.c重命名为main.py,Splik 会认为它是一个 Python 文件。 - Splik依赖于已知的语言列表,这意味着任何新的语言都需要手动贡献给 Splik 本身,才能被识别。一旦添加了新语言,所有工具用户都需要更新 Splik,才能识别该语言。
依赖项
~4–12MB
~132K SLoC