luacheck Inline options

2017/9/27 posted in  Lua comments

可以直接在源码层面 配置 luachek 选项,优先级最高

格式 以 luacheck: 开头,后边空格 + 配置选项

例如: --luacheck: no unused args 那行代码的如果有未使用的参数warning,会被过滤掉warning

支持的选项

规则

影响的检查的代码和Inline options所处的位置有关, 如果是一行代码后边设置了Inline options,则这行代码受影响
否则,会影响代码块结束

比如

-- luacheck: globals g1 g2, ignore foo
local foo = g1(g2) --  前面设置了全局变量g1 g2,忽略foo

-- 下面的也不会报
local function f() -- luacheck: ignore
   -- luacheck: globals g3
   g3() -- 上边设置了全局变量g3,所以不会有warning
end

g3() --  会有warning, 上边的设置只作用于函数f

luacheck 结果

Checking aa.lua                                   1 warning

    aa.lua:10:1: accessing undefined variable g3

Total: 1 warning / 0 errors in 1 file

没有设置inline options,luacheck 结果

Checking aa.lua                                   7 warnings

    aa.lua:1:7: unused variable foo
    aa.lua:1:13: accessing undefined variable g1
    aa.lua:1:16: accessing undefined variable g2
    aa.lua:4:16: unused function f
    aa.lua:4:19: line contains trailing whitespace
    aa.lua:5:4: accessing undefined variable g3
    aa.lua:8:1: accessing undefined variable g3

Total: 7 warnings / 0 errors in 1 file

docs: http://luacheck.readthedocs.io/en/stable/inline.html