Amazon Best VPN GoSearch

OnWorks 网站图标

luacheck - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 luacheck

这是 luacheck 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


luacheck - luacheck 文档

内容:

清单 OF 警告


Luacheck 产生的警告使用三位数的警告代码进行分类。 警告
代码可以显示在 CLI 输出中使用 --代码 CLI 选项或 代码 配置选项。
错误也有以零开头的代码。

┌──────┬──────────────────────────────────┐
│代码 │ 说明 │
├──────┼────────────────────────────────────┤
│011 │ 语法错误。 │
├──────┼────────────────────────────────────┤
│021 │ 无效的内联选项。 │
├──────┼────────────────────────────────────┤
│022 │ 一对一的内联推送│
│ │ 指令。 │
├──────┼────────────────────────────────────┤
│023 │ 一个成对的内联流行指令。 │
├──────┼────────────────────────────────────┤
│111 │ 设置一个未定义的全局 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│112 │ 变异一个未定义的全局 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│113 │ 访问一个未定义的全局 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│121 │ 设置只读全局 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│122 │ 变异一个只读全局 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│131 │ 未使用的隐式定义的全局 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│211 │ 未使用的局部变量。 │
├──────┼────────────────────────────────────┤
│212 │ 未使用的论点。 │
├──────┼────────────────────────────────────┤
│213 │ 未使用的循环变量。 │
├──────┼────────────────────────────────────┤
│221 │ 局部变量被访问但是 │
│ │ 永不定。 │
├──────┼────────────────────────────────────┤
│231 │ 局部变量已设置但从未设置 │
│ │ 访问。 │
├──────┼────────────────────────────────────┤
│232 │ 争论已定,但从不│
│ │ 访问。 │
├──────┼────────────────────────────────────┤
│233 │ 循环变量已设置但从未设置 │
│ │ 访问。 │
├──────┼────────────────────────────────────┤
│311 │ 分配给本地的值 │
│ │ 变量未使用。 │
└──────┴────────────────────────────────────┘

│312 │ 参数的值未使用。 │
├──────┼────────────────────────────────────┤
│313 │ 循环变量的值是 │
│ │ 未使用。 │
├──────┼────────────────────────────────────┤
│321 │ 访问未初始化的本地 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│411 │ 重新定义局部变量。 │
├──────┼────────────────────────────────────┤
│412 │重新定义一个论点。 │
├──────┼────────────────────────────────────┤
│413 │ 重新定义一个循环变量。 │
├──────┼────────────────────────────────────┤
│421 │阴影局部变量。 │
├──────┼────────────────────────────────────┤
│422 │ 遮蔽一个论点。 │
├──────┼────────────────────────────────────┤
│423 │阴影循环变量。 │
├──────┼────────────────────────────────────┤
│431│阴影升值。 │
├──────┼────────────────────────────────────┤
│432 │ 遮蔽升值论点。 │
├──────┼────────────────────────────────────┤
│433 │ 遮蔽一个 upvalue 循环 │
│ │ 变量。 │
├──────┼────────────────────────────────────┤
│511 │ 无法访问的代码。 │
├──────┼────────────────────────────────────┤
│512 │最多可以执行循环 │
│ │ 一次。 │
├──────┼────────────────────────────────────┤
│521 │ 未使用的标签。 │
├──────┼────────────────────────────────────┤
│531 │ 作业左侧 │
│ │ 太短了。 │
├──────┼────────────────────────────────────┤
│532 │ 作业左侧 │
│ │ 太长了。 │
├──────┼────────────────────────────────────┤
│541│一个空 do end 堵塞。 │
├──────┼────────────────────────────────────┤
│542│一个空 if 分支。 │
├──────┼────────────────────────────────────┤
│551 │ 一句空话。 │
└──────┴────────────────────────────────────┘

全球覆盖 变量
对于每个文件,Luacheck 构建可在那里使用的已定义全局变量列表。 默认情况下
只定义了 Lua 标准库中的全局变量; 可以使用添加自定义全局变量
--全局变量 CLI 选项或 全局 配置选项,标准库的版本可以是
选择使用 --标准 CLI 选项或 STD 配置选项。 当设置了未定义的全局时,
发生变异或访问时,Luacheck 会产生警告。

只读 全局
默认情况下,所有标准全局变量除外 _G 被标记为只读,以便
设置或改变它们会产生警告。 可以使用添加自定义只读全局变量
--读取全局变量 CLI 选项或 读取全局变量 配置选项。

含蓄地 定义 全局
Luacheck 可以配置为考虑在某些条件下分配的全局变量
隐式定义。 什么时候 -d/--允许定义 CLI 选项或 允许定义 配置选项是
使用,所有对全局变量的赋值都定义了它们; 什么时候 -t/--allow_define_top CLI 选项或
允许定义顶部 使用配置选项,在顶级函数中分配给全局变量
范围(也称为主块)定义它们。 当隐式执行时产生警告
定义的全局无法在任何地方访问。

科目
文件可以标记为模块使用 -m/- 模块 CLI 选项或 模块 配置选项
模拟已弃用的语义 模块 功能。 全局变量隐式定义在一个
模块被认为是其接口的一部分,在外部不可见且不报告
作为未使用。 不允许分配给其他全局变量,即使是定义的全局变量也是如此。

没用过 变量 价值观
Luacheck 为所有未使用的局部变量生成警告,除了一个名为 _。 这也
检测已设置但从未访问或已访问但从未设置的变量。

没用过 价值观 未初始化 变量
对于分配给局部变量的每个值,Luacheck 计算表达式集,其中它
可用于。 未使用的值会产生警告(当一个值不能被使用时
任何地方)和访问未初始化的变量(当没有值可以达到
表达)。 例如,在分配给以下代码段的值中 FOO 第 1 行未使用,并且
变量 酒吧 在第 9 行未初始化:

本地 foo = expr1()
当地酒吧

如果条件()那么
foo = expr2()
酒吧 = expr3()
其他
foo = expr4()
打印(条)
end

返回 foo, bar

二次 价值观 变量
分配给局部变量的未使用值是次要的,如果它的原点是上的最后一项
分配的 RHS,并使用该项目的另一个值。 次要价值
通常在将函数调用的结果放入局部变量时出现,并且只有其中一些
是后来使用的。 例如,这里赋值给 b 是次要的,赋值给 c is
使用,并赋值给 a 只是未使用:

局部 a, b, c = f(), g()

返回c

如果分配给它的所有值都是次要的,则变量是次要的。 在上面的片段中,
b 是次要变量。

可以使用删除与未使用的次要值和变量相关的警告
-s/--没有未使用的次要对象 CLI 选项或 未使用的次要 配置选项。

遮蔽 声明
Luacheck 检测覆盖先前声明的局部变量声明,除非
变量被命名 _. 如果前一个声明与新声明在同一范围内,
这叫做重新定义。

请注意,它是 而不去 覆盖参数时需要定义新的局部变量:

局部函数 f(x)
本地 x = x 或“默认”——坏
end

局部函数 f(x)
x = x 或“默认”——好
end

通过积极争取让商标与其相匹配的域名优先注册来维护 data 问题
检测到以下控制流和数据流问题:

· 无法访问的代码和最多只能执行一次的循环(例如,由于
无条件休息);

· 未使用的标签;

· 分配不平衡;

· 空块。

· 空语句(没有前面的语句的分号)。

指挥 LINE 接口


检查 程序接受文件、目录和 岩石规格 作为论据。

· 给定一个文件, 检查 会检查它。

· 给定 -, 检查 将检查标准输入。

· 给定一个目录, 检查 将检查其中的所有文件,只选择带有
。月亮 延长除非 --包含文件 选项被使用。 此功能需要
Lua文件系统 (如果使用 LuaRocks 安装 Luacheck,则自动安装)。

· 给定一个rockspec(一个文件 .rockspec 延期), 检查 将检查所有文件
。月亮 在rockspec中提到的扩展 安装.lua, 构建.安装.bin
构建模块 表。

输出 检查 由每个检查文件的单独报告组成,并以
摘要:

$ luacheck 源代码
检查 src/bad_code.lua 5 个警告

src/bad_code.lua:3:16: 未使用的变量助手
src/bad_code.lua:3:23: 未使用的可变长度参数
src/bad_code.lua:7:10: 设置非标准全局变量拥抱
src/bad_code.lua:8:10: 变量 opt 之前在第 7 行定义为参数
src/bad_code.lua:9:11: 访问未定义的变量 hepler

检查 src/good_code.lua OK
检查 src/python_code.lua 1 错误

src/python_code.lua:1:6: 预期 '=' 靠近 '__future__'

检查 src/unused_code.lua 9 警告

src/unused_code.lua:3:18: 未使用的参数 baz
src/unused_code.lua:4:8: 未使用的循环变量 i
src/unused_code.lua:5:13: 未使用的变量 q
src/unused_code.lua:7:11: 未使用的循环变量 a
src/unused_code.lua:7:14: 未使用的循环变量 b
src/unused_code.lua:7:17: 未使用的循环变量 c
src/unused_code.lua:13:7: 分配给变量 x 的值未使用
src/unused_code.lua:14:1: 分配给变量 x 的值未使用
src/unused_code.lua:22:1: 分配给变量 z 的值未使用

总计:14 个警告/1 个文件中的 4 个错误

检查 如果没有出现警告或错误,则以 0 退出,并以正数退出
除此以外。

命令 线 选项
不带参数的短选项可以合并为一个,以便 -qq is
相当于 -q -q -u. 对于长选项,两者 - 选项 折扣值 or --选项=值
用过的。

带有多个参数的选项可以多次使用; - 忽略 FOO - 忽略 酒吧 is
相当于 - 忽略 FOO 酒吧.

请注意,可能带有多个参数的选项,例如 --全局变量, 不应使用
紧接在位置参数之前; 给予 --全局变量 FOO 酒吧 文件.lua, 检查
考虑所有 FOO, 酒吧文件.lua global 然后恐慌,因为没有文件名了。

┌────────────────────────────────────┬───────────────── ──────────────────────┐
│选项│含义│
├────────────────────────────────────┼──────────────── ──────────────────────┤
-g | --非全局 │ 过滤掉与 │ 相关的警告
│ │ 全局变量。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-u | --no-未使用 │ 过滤掉与 │ 相关的警告
│ │ 未使用的变量和值。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-r | --没有重新定义 │ 过滤掉与 │ 相关的警告
│ │ 重新定义变量。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-a | --没有未使用的参数 │ 过滤掉与 │ 相关的警告
│ │ 未使用的参数和循环 │
│ │ 变量。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-s | --没有未使用的次要对象 │ 过滤掉与 │ 相关的警告
│ │ 未使用的变量集在一起│
│ │ 用过的。 │
│ │ │
│ │ 查看次要值和变量 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--无我 │ 过滤掉与 │ 相关的警告
│ │ 含蓄 争论。 │
└────────────────────────────────────┴───────────────── ──────────────────────┘

--标准 │ 设置标准全局变量。 可以│
│ │ 成为其中之一: │
│ │ │
│ │ · _G - Lua 的全局变量 │
│ │ 翻译 检查
│ │ 运行(默认); │
│ │ │
│ │ · lua51 - Lua的全局变量│
│ │ 5.1; │
│ │ │
│ │ · lua52 - Lua的全局变量│
│ │ 5.2; │
│ │ │
│ │ · lua52c - Lua的全局变量│
│ │ 5.2编译用│
│ │ LUA_COMPAT_ALL; │
│ │ │
│ │ · lua53 - Lua的全局变量│
│ │ 5.3; │
│ │ │
│ │ · lua53c - Lua的全局变量│
│ │ 5.3编译用│
│ │ LUA_COMPAT_5_2; │
│ │ │
│ │ · 卢吉特 - │ 的全局变量
│ │ LuaJIT 2.0; │
│ │ │
│ │ · ngx_lua - │ 的全局变量
│ │ Openresty │
│ │ lua-nginx-模块 与│
│ │ LuaJIT 2.0; │
│ │ │
│ │ · 分钟 - 交叉点│
│ │ Lua 5.1的全局变量,Lua │
│ │ 5.2 和 LuaJIT 2.0; │
│ │ │
│ │ · 最大 - 全球联盟 │
│ │ Lua 5.1、Lua 5.2 和 │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · 捣毁 - 添加了全局变量│
│ │ by Busted 2.0; │
│ │ │
│ │ · 没有 - 无标准│
│ │ 全局变量。 │
│ │ │
│ │ 看 套数 of
│ │ 全局
├────────────────────────────────────┼──────────────── ──────────────────────┤
--全局变量 [ ] ... │ 在 │ 之上添加自定义全局变量
│ │ 标准的。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--读取全局变量 [ ] ... │ 添加只读全局变量。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--新的全局变量 [ ] ... │ 设置自定义全局变量。 删除│
│ │ 之前添加的自定义全局变量。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--新读取全局变量 [ ] │ 设置只读全局变量。 删除│
... │ 添加只读全局变量 │
│ │ 以前。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-c | --兼容 │ 相当于 --标准 最大。 │
└────────────────────────────────────┴───────────────── ──────────────────────┘

-d | --允许定义 │ 允许定义全局变量 │
│ │ 隐含地设置它们。 │
│ │ │
│ │ 查看隐式定义的全局变量 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-t | --允许定义顶部 │ 允许定义全局变量 │
│ │ 通过将它们设置在 │ 中隐式
│ │ 顶级范围。 │
│ │ │
│ │ 查看隐式定义的全局变量 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-m | - 模块 │ 限制隐式的可见性│
│ │ 为他们的文件定义了全局变量。 │
│ │ │
│ │ 查看模块 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
- 忽略 | -i [ ] │ 过滤掉匹配的警告│
... │ 花纹。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
- 使能够 | -e [ ] │ 不要过滤掉警告│
... │ 匹配模式。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
- 只要 | -o [ ] ... │ 过滤掉不匹配的警告│
│ │ 花纹。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--无内联 │ 禁用内联选项。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--配置 │ 自定义配置路径│
│ │ 文件(默认: .luacheckrc)。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--无配置 │ 不查自定义│
│ │ 配置文件。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
- 文档名称 │ 在输出中使用另一个文件名,│
│ │ 用于选择配置 │
│ │ 覆盖和文件 │
│ │过滤。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--排除文件 [ ] │ 不检查文件匹配 │
... │ 这些通配模式。 │
│ │ Recursive globs 如 **/*.lua
│ │ 支持。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--包含文件 [ ] │ 不检查文件不匹配│
... │ 这些通配模式。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--缓存 [ ] │ 缓存文件的路径。 (默认:│
│ │ .luacheckcache)。 看到 高速缓存
├────────────────────────────────────┼──────────────── ──────────────────────┤
--无缓存 │ 不要使用缓存。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-j | - 工作 │ 检查 文件并行。 │
│ │ 需要 路线。 │
└────────────────────────────────────┴───────────────── ──────────────────────┘

--格式化程序 │ 使用自定义格式化程序。 │
│ │ 必须是模块│
│ │ 姓名或以下之一: │
│ │ │
│ │ · TAP - 测试任何东西│
│ │ 协议格式化程序; │
│ │ │
│ │ · JUnit的 - JUnit XML │
│ │ 格式化程序; │
│ │ │
│ │ · 平原 - 简单│
│ │ 每行警告 │
│ │ 格式化程序; │
│ │ │
│ │ · 默认 - 标准│
│ │格式化程序。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-q | - 安静的 │ 抑制文件的报告输出 │
│ │ 没有警告。 │
│ │ │
│ │ · -QQ - 抑制输出│
│ │ 的警告。 │
│ │ │
│ │ · -qq - 只输出│
│ │ 总结。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--代码 │ 显示警告代码。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--范围 │ 显示相关列的范围│
│ │ 来警告。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
--无色 │ 不要对输出进行着色。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-v | - 版 │ 显示版本的 Luacheck 及其 │
│ │ 依赖并退出。 │
├────────────────────────────────────┼──────────────── ──────────────────────┤
-h | - 帮帮我 │ 显示帮助并退出。 │
└────────────────────────────────────┴───────────────── ──────────────────────┘

模式
命令行选项 - 忽略, - 使能够- 只要 和相应的配置选项允许过滤
在警告代码、变量名称或两者上使用模式匹配的警告。 如果一个图案
包含斜线,斜线前部分匹配警告代码,后部分匹配
变量名。 否则,如果模式包含字母或下划线,则匹配
变量名。 否则,它匹配警告代码。 例如:

┌────────┬────────────────────────────────────┐
│模式 │ 匹配警告 │
├────────┼────────────────────────────────────┤
│4.2 │ 阴影声明 │
│ │ 论点或重新定义它们。 │
├────────┼────────────────────────────────────┤
│.*_ │ 变量相关警告│
│ │ 与 _ 后缀。 │
├────────┼────────────────────────────────────┤
│4.2/.*_ │ 阴影声明│
│ │ 与 _ 后缀或│
│ │ 重新定义它们。 │
└────────┴────────────────────────────────┘

除非已经锚定,否则匹配变量名称的模式将锚定在两侧和
匹配警告代码的模式被锚定在它们的开头。 这允许一个
按类别过滤警告(例如 - 只要 1 重点 检查 全球相关警告)。

套数 of 全局
命令行选项 --标准 允许使用组合上述内置集 +。 例如,
--标准 最大 相当于 --std=lua51+lua52+lua53. 前导加号将新集添加到
默认一个而不是替换它。 例如, --标准 +破坏 适合检查
使用的测试文件 猛击 测试框架。 自定义的全局变量集可以通过
变异全局变量 性病 在配置中。 见custom_stds

格式化程序
命令行选项 --格式化程序 允许选择自定义格式化程序 检查 输出。 一个习俗
格式化程序是一个 Lua 模块,返回一个带有三个参数的函数:report as返回
检查 模块(见报告)、文件名数组和选项表。 选项包含
赋值给 安静, 颜色, 限制, 代码, 范围格式化程序 CLI 中的选项或
配置。 Formatter 函数必须返回一个字符串。

高速缓存
如果 LuaFileSystem 可用,Luacheck 可以缓存检查文件的结果。 在随后的
检查,只有自上次检查后更改的文件才会被重新检查,改进
运行时间显着。 更改选项(例如定义额外的全局变量)不会
使缓存无效。 可以通过使用启用缓存 --缓存 选项或 缓存 配置
选项。 使用 --缓存 没有参数或设置 缓存 配置选项 true
.luacheckcache 作为缓存文件。 注意 --缓存 每次都必须使用 检查 is
运行,而不是仅在第一次运行时。

稳定 接口 编辑 插件 工具
Luacheck 的命令行界面可以在次要版本之间更改。 从 0.11.0 开始
版本,以下接口至少保证到1.0.0版本,并且应该是
由使用 Luacheck 输出的工具使用,例如编辑器插件。

· Luacheck 应该从包含被检查文件的目录启动。

· 文件可以通过标准输入使用 - 作为参数或使用临时文件。 真实的
文件名应该使用 - 文档名称 选项。

· 应该使用普通的格式化程序。 它每行输出一个问题(警告或错误)。

· 获取准确的错误位置, --范围 可以使用选项。 每一行都以实数开头
文件名(通过使用 - 文档名称), 其次是 : : —— :,
哪里 是发生问题的行号和 —— is
与问题相关的令牌列的包含范围。 编号从 1 开始。如果
--范围 未使用,不打印结束列和破折号。

· 获取警告和错误代码, --代码 可以使用选项。 对于每一行,子串
括号之间包含三位数的问题代码,前缀为 E 对于错误和 W
警告。 缺少此类子字符串表示存在致命错误(例如 I/O 错误)。

· 该行的其余部分是警告消息。

如果需要与旧 Luacheck 版本兼容,输出 检查 - 帮帮我
用来获取它的版本。 如果它包含字符串 0. .,其中
至少 11 和 补丁 是任意数字,应使用上述接口。

配置 文件


检查 尝试从 .luacheckrc 当前目录下的文件。 如果
没有找到,它会在父目录中寻找它等等,直到它
到达文件系统根目录。 配置路径可以使用 --配置 选项,在这种情况下
它将在递归加载期间使用。 可以使用禁用配置加载 --无配置
旗。

Config 只是一个执行的 Lua 脚本 检查. 它可以通过设置各种选项
分配给全局变量或通过返回带有选项名称作为键的表。

配置 选项
┌──────────────────────┬──────────────────────────┬── ──────────────────────┐
│选项│类型│默认值│
├────────────────────┼──────────────────────────┼── ──────────────────────┤
颜色 │ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
代码 │ 布尔 │ false
└──────────────────────┴──────────────────────────┴── ──────────────────────┘

格式化程序 │ 字符串或函数 │ “默认”
├────────────────────┼──────────────────────────┼── ──────────────────────┤
缓存 │ 布尔值或字符串 │ false
├────────────────────┼──────────────────────────┼── ──────────────────────┤
工作 │ 正整数 │ 1
├────────────────────┼──────────────────────────┼── ──────────────────────┤
排除文件 │ 字符串数组 │ {}
├────────────────────┼──────────────────────────┼── ──────────────────────┤
包含文件 │ 字符串数组│(包括所有文件)│
├────────────────────┼──────────────────────────┼── ──────────────────────┤
全球化 │ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
未使用 │ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
重新定义 │ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
未使用的参数 │ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
未使用的次要 │ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
│ 布尔 │ true
├────────────────────┼──────────────────────────┼── ──────────────────────┤
STD │ 字符串或一组 │ “_G”
│ │ 标准全局变量 │ │
├────────────────────┼──────────────────────────┼── ──────────────────────┤
全局 │ 字符串数组 │ {}
├────────────────────┼──────────────────────────┼── ──────────────────────┤
新的全局变量 │ 字符串数组│(不要覆盖)│
├────────────────────┼──────────────────────────┼── ──────────────────────┤
读取全局变量 │ 字符串数组 │ {}
├────────────────────┼──────────────────────────┼── ──────────────────────┤
新读取的全局变量 │ 字符串数组│(不要覆盖)│
├────────────────────┼──────────────────────────┼── ──────────────────────┤
兼容 │ 布尔 │ false
├────────────────────┼──────────────────────────┼── ──────────────────────┤
允许定义 │ 布尔 │ false
├────────────────────┼──────────────────────────┼── ──────────────────────┤
允许定义顶部 │ 布尔 │ false
├────────────────────┼──────────────────────────┼── ──────────────────────┤
模块 │ 布尔 │ false
├────────────────────┼──────────────────────────┼── ──────────────────────┤
忽略 │ 模式阵列(见 │ {}
│ │ 图案) │ │
├────────────────────┼──────────────────────────┼── ──────────────────────┤
enable │ 图案阵列│ {}
├────────────────────┼──────────────────────────┼── ──────────────────────┤
仅由 │ 模式阵列│(不过滤)│
├────────────────────┼──────────────────────────┼── ──────────────────────┤
一致 │ 布尔 │ true
└──────────────────────┴──────────────────────────┴── ──────────────────────┘

一个配置示例 检查 确保只有来自便携式的全局变量
使用 Lua 5.1、Lua 5.2、Lua 5.3 和 LuaJIT 2.0 的交集,以及禁用
检测未使用的参数:

标准=“分钟”
忽略 = {"212"}

自定义 of 全局
STD 选项允许使用表格设置自定义标准全局变量集。 在那张桌子上,
字符串键是全局变量,数组部分中的字符串是只读全局变量。

此外,自定义集可以通过改变全局变量来命名 性病 多变的。 为了
例如,当使用 液化石油气 库,使用简洁地访问其功能是有意义的
全局变量。 在这种情况下,以下配置允许删除与
轻松全球访问:

stds.lpeg = 需要“lpeg”

本地 lpeg = 需要“lpeg”

本地函数 parse1(...)
-- 此函数仅使用 lpeg 函数作为全局变量。
本地_ENV = lpeg
-- luacheck: 标准 lpeg
本地数字,空格 = R "09", S " "
-...
end

本地函数 parse2(...)
-- 此函数使用 lpeg 函数以及标准全局变量。
local _ENV = setmetatable({}, {__index = function(_, k) return _ENV[k] 或 lpeg[k] end})
-- luacheck: 标准+lpeg
本地数字,空格 = R "09", S " "
本地号码 = C(digit^1) / tonumber
-...
end

每个文件 每路径 覆盖
所处的环境 检查 加载配置包含一个特殊的全局 。 何时
检查文件 , 检查 将使用条目覆盖主配置中的选项
文件[ ]文件[ ],首先应用较短路径的条目。 为了
例如,以下配置重新启用对未使用参数的检测,仅适用于
源代码/目录,但不是为了 src/目录/myfile.lua, 并允许使用 猛击 内的全局变量 规格/:

标准=“分钟”
忽略 = {"212"}
文件 ["src/dir"] = {启用 = {"212"}}
文件["src/dir/myfile.lua"] = {ignore = {"212"}}
文件 ["spec"] = {std = "+busted"}

需要注意的是 表支持自动激活,因此

文件[“myfile.lua”].ignore = {“212”}



文件[“myfile.lua”] = {ignore = {“212”}}

是等价的。

排队 配置


Luacheck 支持使用 inline 直接在选中的文件中设置一些选项
配置注释。 内联配置注释以 检查: 标签,
可能在一些空格之后。 评论的正文应包含逗号分隔
选项,其中选项调用由其名称加上空格分隔的参数组成。 这
支持以下选项:

┌──────────────────────┬────────────────────────────── ──────┐
│选项 │ 参数数量 │
├────────────────────┼────────────────────────────── ──────┤
│全球 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│未使用│ 0 │
├────────────────────┼────────────────────────────── ──────┤
│重新定义 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│未使用的参数 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│未使用的辅助设备 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│自己│ 0 │
└──────────────────────┴───────────────────────────── ──────┘

│兼容 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│模块 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│允许定义 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│允许定义顶部 │ 0 │
├────────────────────┼────────────────────────────── ──────┤
│标准 │ 1 │
├────────────────────┼────────────────────────────── ──────┤
│全局变量 │ 0+ │
├────────────────────┼────────────────────────────── ──────┤
│新的全局变量 │ 0+ │
├────────────────────┼────────────────────────────── ──────┤
│阅读全局变量 │ 0+ │
├────────────────────┼────────────────────────────── ──────┤
│新读取全局变量 │ 0+ │
├────────────────────┼────────────────────────────── ──────┤
│忽略│ 0+(无参数一切│
│ │ 被忽略) │
├────────────────────┼────────────────────────────── ──────┤
│启用 │ 1+ │
├────────────────────┼────────────────────────────── ──────┤
│只有 │ 1+ │
└──────────────────────┴───────────────────────────── ──────┘

不带参数的选项可以带有前缀 没有 来颠倒它们的意思。 例如
--luacheck: 没有 未使用 ARGS 禁用未使用的参数警告。

受内联选项影响的文件部分取决于它的放置位置。 如果有任何
带有选项的行上的代码,只有该行受到影响; 否则,直到
当前关闭的结束是。 特别是文件顶部的内联选项
影响这一切:

-- luacheck:全局变量 g1 g2,忽略 foo
local foo = g1(g2) -- 没有发出警告。

-- 以下未使用的函数未报告。
本地函数 f() -- luacheck: 忽略
-- luacheck:全局变量 g3
g3()——没有警告。
end

g3() -- 发出警告作为定义 g3 仅影响函数 f 的内联选项。

为了对内联选项可见性进行细粒度控制,请使用 检查: 检查:
流行的 指令:

-- luacheck: 推送忽略 foo
foo() -- 没有警告。
-- luacheck: 弹出
foo() -- 发出警告。

可以使用完全禁用内联选项 --无内联 CLI 选项或 一致 配置
选项。

路检 模块


使用 VHDL 语言编写 本地 检查 = 要求 “luacheck” 进口 检查 模块。 它包含
以下功能:

· luacheck.get_report(来源): 给定源字符串,返回分析数据(一个表)。

· luacheck.process_reports(报告, 选项): 处理一系列分析报告和
应用选项。 报告[i] 使用 选项, 选项[i], 选项[i][1], 选项[i][2]...
作为选项,按顺序相互覆盖。 选项表是一个带有字段的表
类似于配置选项; 见选项。 带字段的分析报告 致命 被忽略了。
进程报告 返回最终报告,见 报告 格式.

· luacheck.check_strings(来源, 选项): 使用选项检查源数组,返回
总结报告。 带字段的表 致命来源 数组被忽略。

· luacheck.check_files(文件, 选项): 使用选项检查文件数组,返回最终结果
报告。 可以传递打开的文件句柄而不是文件名,在这种情况下它们将是
读到EOF并关闭。

· luacheck.get_message(问题):返回问题的字符串消息,请参阅 报告 格式.

luacheck._VERSION 包含 Luacheck 版本作为字符串 主要.次要.补丁 格式。

运用 检查 作为一个函数相当于调用 luacheck.check_files.

报告 格式
最终报告是文件报告和字段的数组 警告, 错误致命
相应地包含警告​​、错误和致命错误的总数。

文件报告是一系列问题(警告或错误)。 如果在执行过程中发生致命错误
检查文件,其报告将有 致命 包含错误类型的字段。

问题是带有字段的表 表明其类型(见 警告), 和字段 线,
结束列 指向警告的来源。 姓名 字段可能包含名称
的相关变量。 某些类型的问题还可以有其他字段:

┌──────┬────────────────────────────────────┐
│代码 │ 附加字段 │
├──────┼────────────────────────────────────┤
│011 │ 味精 字段包含语法错误│
│ │ 留言。 │
├──────┼────────────────────────────────────┤
│111 │ 模块 字段表示│
│ │ 赋值是给一个非模块 │
│ │ 全局变量。 │
├──────┼────────────────────────────────────┤
│211 │ FUNC 字段表示未使用│
│ │ 变量是一个函数。 │
├──────┼────────────────────────────────────┤
│4.. │ 上一页上一列 领域│
│ │ 包含 │ 的位置
│ │ 覆盖定义。 │
└──────┴────────────────────────────────────┘

由于内部原因,可能会出现其他字段。

这是 0.13.0 版本的文档 路亚检查, 一个短绒 LUA.

使用 onworks.net 服务在线使用 luacheck


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。