diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2019-07-04 20:08:33 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2019-07-04 20:08:33 +0800 |
commit | 3c94aec07eade30f914387d220a6f4d1d332ba01 (patch) | |
tree | c257fecd5a10680f628ef17e1bdc818a4de8e1f9 /server/meta/Lua 5.4 | |
parent | 349fd77669c380777b77e9b8cebfa4624a68e17c (diff) | |
parent | 54453139868cdef82406b5868a9f78bc0838b6f7 (diff) | |
download | lua-language-server-3c94aec07eade30f914387d220a6f4d1d332ba01.zip |
Merge commit '54453139868cdef82406b5868a9f78bc0838b6f7'
Diffstat (limited to 'server/meta/Lua 5.4')
-rw-r--r-- | server/meta/Lua 5.4/basic.lua | 138 | ||||
-rw-r--r-- | server/meta/Lua 5.4/meta.lua | 27 |
2 files changed, 165 insertions, 0 deletions
diff --git a/server/meta/Lua 5.4/basic.lua b/server/meta/Lua 5.4/basic.lua new file mode 100644 index 00000000..06a5c810 --- /dev/null +++ b/server/meta/Lua 5.4/basic.lua @@ -0,0 +1,138 @@ +--- 独立版Lua的启动参数。 +arg = {} + +--- 如果其参数 `v` 的值为假,它就调用 `error`。 +---@overload fun(v:any):any +---@param v any +---@param message any {optional = 'self'} +---@return any +function assert(v, message) end + +---@overload fun() +---@overload fun(opt:GCOption):any +---@param opt GCOption {optional = 'after'} +---@param arg integer {optional = 'self'} +---@return any +function collectgarbage(opt, arg) end + +--- 打开该名字的文件,并执行文件中的 Lua 代码块。 +---@overload fun():any +---@param filename string {optional = 'self', special = 'dofile:1'} +---@return any +function dofile(filename) end + +--- 中止上一次保护函数调用,将错误对象 `message` 返回。 +---@overload fun(message:any) +---@param message any +---@param level integer {optional = 'self'} +function error(message, level) end + +--- 内部储存有全局环境。 +_G = {} + +--- 返回该对象的元表。 +---@param object any +---@return table {name = 'metatable'} +function getmetatable(object) end + +--- 能迭代表 `t` 中序列的键值对。 +---|```lua +---|for i, v in ipairs(t) do +---| -- body +---|end +---|``` +---@param t table +---@return {name = 'iterator'} +---@return table {name = 't'} +---@return integer {name = 'i'} +function ipairs(t) + --- 返回该键的下一个键及其关联的值。 + ---@overload fun(t:table):integer,any + ---@param t table + ---@param index any {optional = 'self'} + ---@return integer {name = 'index'} + ---@return any {name = 'value'} + local function iterator(t, index) end + + return iterator, t, nil +end + +--- 加载一个代码块。 +---@overload fun():function,string +---@overload fun(chunk:string|function):function,string +---@overload fun(chunk:string|function, chunkname:string):function,string +---@overload fun(chunk:string|function, chunkname:string, mode:loadOption):function,string +---@param chunk string|function +---@param chunkname string {optional = 'after'} +---@param mode loadOption {optional = 'after'} +---@param env table {optional = 'self'} +---@return {name = 'init'} +---@return string {name = 'errMessage', optional = 'self'} +function load(chunk, chunkname, mode, env) + return function (...) end +end + +--- 从文件中获取代码块。 +---@overload fun():function,string +---@overload fun(filename:string):function,string +---@overload fun(filename:string, mode:loadOption):function,string +---@param filename string {optional = 'after', special = 'loadfile:1'} +---@param mode loadOption {optional = 'after'} +---@param env table {optional = 'self'} +---@return {name = 'init'} +---@return string {name = 'errMessage', optional = 'self'} +function loadfile(filename, mode, env) + return function (...) end +end + +--- 返回该键的下一个键及其关联的值。 +---@overload fun(t:table):any, any +---@param t table +---@param index any {optional = 'self'} +---@return any {name = 'key'} +---@return any {name = 'value'} +function next(t, index) end + +--- 能迭代表 `t` 中的所有键值对。 +---|```lua +---|for k, v in pairs(t) do +---| -- body +---|end +---|``` +---@param t table +---@return {name = 'next'} +---@return table {name = 't'} +---@return any {name = 'key'} +function pairs(t) + --- 返回该键的下一个键及其关联的值。 + ---@overload fun(t:table):any, any + ---@param t table + ---@param index any {optional = 'self'} + ---@return any {name = 'key'} + ---@return any {name = 'value'} + local function next(t, index) end + + return next, t, nil +end + +--- 传入参数,以 *保护模式* 调用函数 `f` 。 +---@param f function {special = 'pcall:1'} +---@param arg1 any {optional = 'after'} +---@return boolean {name = 'success'} +---@return {name = 'result'} +function pcall(f, arg1, ...) +end + +--- 接收任意数量的参数,并将它们的值打印到 `stdout`。 +function print(...) +end + +--- 在不触发任何元方法的情况下 检查 `v1` 是否和 `v2` 相等。 +---@param v1 any +---@param v2 any +---@return boolean +function rawequal(v1, v2) +end + +--- 当前解释器版本号。 +_VERSION = 'Lua 5.4' diff --git a/server/meta/Lua 5.4/meta.lua b/server/meta/Lua 5.4/meta.lua new file mode 100644 index 00000000..4fe28af2 --- /dev/null +++ b/server/meta/Lua 5.4/meta.lua @@ -0,0 +1,27 @@ +---@class any +---@class string any +---@class number any +---@class integer number +---@class boolean any +---@class table any +---@class function any +---@class nil any +---@class userdata any +---@class thread any + +---@alias GCOption string +---| > '"collect"' # 做一次完整的垃圾收集循环。 +---| '"stop"' # 停止垃圾收集器的运行。 +---| '"restart"' # 重启垃圾收集器的自动运行。 +---| '"count"' # 以 K 字节数为单位返回 Lua 使用的总内存数。 +---| '"step"' # 单步运行垃圾收集器。 +---| '"setpause"' # 设置收集器的 `间歇率`。 +---| '"setstepmul"' # 设置收集器的 `步进倍率`。 +---| '"incremental"' # 改变收集器模式为增量模式。 +---| '"generational"' # 改变收集器模式为分代模式。 +---| '"isrunning"' # 返回表示收集器是否在工作的布尔值。 + +---@alias loadOption string +---| "'b'" # 只能是二进制代码块。 +---| "'t'" # 只能是文本代码块。 +---| > "'bt'" # 可以是二进制也可以是文本。 |