diff options
Diffstat (limited to 'meta/template/io.lua')
-rw-r--r-- | meta/template/io.lua | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/meta/template/io.lua b/meta/template/io.lua index bc47f56d..d31027af 100644 --- a/meta/template/io.lua +++ b/meta/template/io.lua @@ -93,4 +93,72 @@ function io.type(file) end ---@return string? errmsg function io.write(...) end +---#DES 'file' +---@class file* +local file = {} + +---@alias readmode number +---#if VERSION >= 5.3 then +---| '"n"' # ---#DESTAIL 'readmode.n' +---| '"a"' # ---#DESTAIL 'readmode.a' +---|>'"l"' # ---#DESTAIL 'readmode.l' +---| '"L"' # ---#DESTAIL 'readmode.L' +---#else +---| '"*n"' # ---#DESTAIL 'readmode.n' +---| '"*a"' # ---#DESTAIL 'readmode.a' +---|>'"*l"' # ---#DESTAIL 'readmode.l' +---#if JIT then +---| '"*L"' # ---#DESTAIL 'readmode.L' +---#end +---#end + +---@alias exitcode '"exit"'|'"signal"' + +---#DES 'file:close' +---@return boolean? suc +---@return exitcode? exitcode +---@return integer? code +function file:close() end + +---#DES 'file:flush' +function file:flush() end + +---#DES 'file:lines' +---@vararg readmode +---@return fun():string|number +function file:lines(...) end + +---#DES 'file:read' +---@vararg readmode +---@return string|number +function file:read(...) end + +---@alias seekwhence +---| '"set"' # ---#DESTAIL 'seekwhence.set' +---|>'"cur"' # ---#DESTAIL 'seekwhence.cur' +---| '"end"' # ---#DESTAIL 'seekwhence.end' + +---#DES 'file:seek' +---@param whence? seekwhence +---@param offset? integer +---@return integer offset +---@return string? errmsg +function file:seek(whence, offset) end + +---@alias vbuf +---| '"no"' # ---#DESTAIL 'vbuf.no' +---| '"full"' # ---#DESTAIL 'vbuf.full' +---| '"line"' # ---#DESTAIL 'vbuf.line' + +---#DES 'file:setvbuf' +---@param mode vbuf +---@param size integer +function file:setvbuf(mode, size) end + +---#DES 'file:write' +---@vararg string|number +---@return file*? +---@return string? errmsg +function file:write(...) end + return io |