6 个版本
0.4.0 | 2024年1月20日 |
---|---|
0.3.3 | 2023年11月16日 |
0.2.0 | 2023年9月5日 |
#394 在 文件系统
每月55次 下载
19KB
352 行
linty
简单、无语言限制的代码检查器
目录
背景
你是否曾修复了一个错误并希望警告其他开发者关于这个具体陷阱?
你是否希望有一种简单的方法来禁止代码库中的 TODO 项?
许多特定语言的代码检查器足够灵活,可以添加基于正则表达式的规则,但如果你想在代码库中禁止一个正则表达式,而不管文件是什么?如果你使用的是没有自己花哨代码检查器的语言呢?
这就是 Linty 的用武之地——它是一个简单、无语言限制的代码检查器,可以在代码库中检查正则表达式模式。
用法
Linty 在一系列 规则 上运行,每个规则都是一个正则表达式,一组包含文件名模式,一组排除文件名模式,以及相关的错误消息和严重性(警告或错误)。Linty 将每个正则表达式与包含文件名模式中找到的所有文件进行匹配,但不与排除文件名模式匹配,并相应地进行警告或错误。
默认情况下,Linty 在当前目录中查找 .lintyconfig.json
文件。您可以使用 --config-path
选项指定不同的路径。
{
"rules": [
{
"id": "WarnOnTodos",
"message": "Are you sure you meant to leave a TODO?",
"regex": "(TODO|todo)",
"severity": "warning",
},
{
"id": "NoXcxcInDocs",
"message": "Don't leave xcxc in docs!",
"regex": "(XCXC|xcxc)",
"severity": "error",
"includes": ["**/*.md"],
"excludes": ["**/testing/*.md"]
}
]
}
对于每个规则,它将对提供的文件名模式集中找到的每个文件应用正则表达式。如果没有提供文件名模式,它将递归地将正则表达式应用于 所有 文件,从当前目录开始。在 ignore
文件名模式中包含的文件将被忽略。如果指定了 --pre-commit
选项,它将只对用 git 预提交的文件应用规则。如果向 Linty 传递显式的文件路径,它将只对那些文件应用规则(除非也指定了 --pre-commit
,在这种情况下忽略此输入)。默认情况下,Linty 尊重 .gitignore
文件,但您可以使用 --ignore
启用检查 .gitignore
文件。同样,Linty 不会检查隐藏文件,但您可以使用 --hidden
启用。
如果任何 错误
规则失败,Linty 将报告所有失败的规则并以退出代码 1 退出。如果没有 错误
规则失败,Linty 将以退出代码 0 退出。如果 警告
规则失败,Linty 将要求用户手动确认警告。如果使用了 --error-on-warning
标志,则警告将被视为错误;如果使用了 --no-confirm
标志,Linty 将只打印警告,无需手动确认。
您还可以通过指定带有 --config-path
选项的 .lintyconfig.toml
来使用 TOML 语法
[[rules]]
id = "WarnOnTodos"
message = "Are you sure you meant to leave a TODO?"
regex = "(TODO|todo)"
severity = "warning"
[[rules]]
id = "NoXcxcInDocs"
message = "Don't leave xcxc in docs!"
regex = "(XCXC|xcxc)"
severity = "error"
includes = [ "**/*.md" ]
excludes = [ "**/README.md" ]
安装
在 macOS 上的 Homebrew
brew tap rwblickhan/linty
brew install linty
维护者
依赖项
~6–15MB
~182K SLoC