use @diagnostic comments to reduce warning spam in console
This commit is contained in:
@@ -446,7 +446,7 @@ local tsMeta = {
|
|||||||
elseif name:find('::') then
|
elseif name:find('::') then
|
||||||
local ns, rest = name:match('^([^:]+)::(.+)$')
|
local ns, rest = name:match('^([^:]+)::(.+)$')
|
||||||
if not ns then error('ts index: invalid name \''..name..'\'', 2) end
|
if not ns then error('ts index: invalid name \''..name..'\'', 2) end
|
||||||
if not rest:find('::') and tsIsFunction(ns, rest) then
|
if not rest:find('::') and tsIsFunction(ns, rest) then -- tsIsFunction is only defined with one argument
|
||||||
error('ts index: can\'t call a namespaced function from lua', 2)
|
error('ts index: can\'t call a namespaced function from lua', 2)
|
||||||
else
|
else
|
||||||
return valFromTs(_bllua_ts.getvar(name), name)
|
return valFromTs(_bllua_ts.getvar(name), name)
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ ts = _bllua_ts
|
|||||||
|
|
||||||
-- Provide limited OS functions
|
-- Provide limited OS functions
|
||||||
os = os or {}
|
os = os or {}
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
function os.time() return math.floor(tonumber(_bllua_ts.call('getSimTime'))/1000) end
|
function os.time() return math.floor(tonumber(_bllua_ts.call('getSimTime'))/1000) end
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
function os.clock() return tonumber(_bllua_ts.call('getSimTime'))/1000 end
|
function os.clock() return tonumber(_bllua_ts.call('getSimTime'))/1000 end
|
||||||
|
|
||||||
-- Virtual file class, emulating a file object as returned by io.open
|
-- Virtual file class, emulating a file object as returned by io.open
|
||||||
@@ -106,6 +110,7 @@ local function io_open_absolute(fn, mode)
|
|||||||
end
|
end
|
||||||
|
|
||||||
io = io or {}
|
io = io or {}
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
function io.open(fn, mode, errn)
|
function io.open(fn, mode, errn)
|
||||||
errn = errn or 1
|
errn = errn or 1
|
||||||
|
|
||||||
@@ -116,23 +121,29 @@ function io.open(fn, mode, errn)
|
|||||||
local relfn = curfn and fn:find('^%./') and
|
local relfn = curfn and fn:find('^%./') and
|
||||||
curfn:gsub('[^/]+$', '')..fn:gsub('^%./', '')
|
curfn:gsub('[^/]+$', '')..fn:gsub('^%./', '')
|
||||||
if relfn then
|
if relfn then
|
||||||
local fi, err = io_open_absolute(relfn, mode, errn+1)
|
local fi, err = io_open_absolute(relfn, mode, errn+1) -- defined with 2 args? function io_open_absolute(fn, mode)
|
||||||
return fi, err, relfn
|
return fi, err, relfn
|
||||||
else
|
else
|
||||||
return nil, 'Invalid path', fn
|
return nil, 'Invalid path', fn
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local fi, err = io_open_absolute(fn, mode, errn+1)
|
local fi, err = io_open_absolute(fn, mode, errn+1) -- defined with 2 args but passed 3 in.
|
||||||
return fi, err, fn
|
return fi, err, fn
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
function io.lines(fn)
|
function io.lines(fn)
|
||||||
local fi, err, fn2 = io.open(fn, nil, 2)
|
local fi, err, fn2 = io.open(fn, nil, 2)
|
||||||
if not fi then error('Error opening file \''..fn2..'\': '..err, 2) end
|
if not fi then error('Error opening file \''..fn2..'\': '..err, 2) end
|
||||||
return fi:lines()
|
return fi:lines()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
function io.type(f)
|
function io.type(f)
|
||||||
|
---@diagnostic disable-next-line: undefined-field
|
||||||
if type(f)=='table' and f._is_file then
|
if type(f)=='table' and f._is_file then
|
||||||
|
---@diagnostic disable-next-line: undefined-field
|
||||||
return f._is_open and 'file' or 'closed file'
|
return f._is_open and 'file' or 'closed file'
|
||||||
else
|
else
|
||||||
return _bllua_io_type(f)
|
return _bllua_io_type(f)
|
||||||
|
|||||||
Reference in New Issue
Block a user