Skip to content

Commit fdccc2a

Browse files
committed
Add standard support for Lua 5.5, in particular adding support for table.create (#132)
1 parent 7dd65be commit fdccc2a

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

src/luacheck/builtin_standards/init.lua

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ string_defs.lua51 = add_defs(string_defs.min, standards.def_fields("gfind"))
3131
string_defs.lua52 = string_defs.min
3232
string_defs.lua53 = add_defs(string_defs.min, standards.def_fields("pack", "packsize", "unpack"))
3333
string_defs.lua54 = string_defs.lua53
34+
string_defs.lua55 = string_defs.lua54
3435
string_defs.luajit = string_defs.lua51
3536

3637
local file_defs = {}
@@ -54,6 +55,7 @@ file_defs.lua51 = file_defs.min
5455
file_defs.lua52 = file_defs.min
5556
file_defs.lua53 = add_defs(file_defs.min, {fields = {__name = string_defs.lua53}})
5657
file_defs.lua54 = add_defs(file_defs.min, {fields = {__name = string_defs.lua54}})
58+
file_defs.lua55 = file_defs.lua54
5759
file_defs.luajit = file_defs.min
5860

5961
local function make_min_def(method_defs)
@@ -237,6 +239,16 @@ lua_defs.lua54c = add_defs(lua_defs.lua54, {
237239
math = standards.def_fields("atan2", "cosh", "frexp", "ldexp", "log10", "pow", "sinh", "tanh")
238240
}
239241
})
242+
lua_defs.lua55 = add_defs(lua_defs.lua54, {
243+
fields = {
244+
table = standards.def_fields("create")
245+
}
246+
})
247+
lua_defs.lua55c = add_defs(lua_defs.lua55, {
248+
fields = {
249+
math = standards.def_fields("atan2", "cosh", "frexp", "ldexp", "log10", "pow", "sinh", "tanh")
250+
}
251+
})
240252
lua_defs.luajit = add_defs(make_min_def("luajit"), {
241253
fields = {
242254
bit = standards.def_fields("arshift", "band", "bnot", "bor", "bswap", "bxor", "lshift", "rol", "ror",
@@ -263,7 +275,14 @@ lua_defs.luajit = add_defs(make_min_def("luajit"), {
263275
}
264276
})
265277
lua_defs.ngx_lua = add_defs(lua_defs.luajit, ngx)
266-
lua_defs.max = add_defs(lua_defs.lua51c, lua_defs.lua52c, lua_defs.lua53c, lua_defs.lua54c, lua_defs.luajit)
278+
lua_defs.max = add_defs(
279+
lua_defs.lua51c,
280+
lua_defs.lua52c,
281+
lua_defs.lua53c,
282+
lua_defs.lua54c,
283+
lua_defs.lua55c,
284+
lua_defs.luajit
285+
)
267286

268287
for name, def in pairs(lua_defs) do
269288
builtin_standards[name] = def_to_std(def)
@@ -280,6 +299,8 @@ local function get_running_lua_std_name()
280299
return "lua53c"
281300
elseif _VERSION == "Lua 5.4" then
282301
return "lua54c"
302+
elseif _VERSION == "Lua 5.5" then
303+
return "lua55c"
283304
else
284305
return "max"
285306
end

0 commit comments

Comments
 (0)