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